Binary Injection for Runtime Accessibility Evaluation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods for accessibility compliance checking of user interfaces are inadequate as they are not conducive to on-demand, unbiased, comprehensive, and selective evaluations, especially when dealing with user-defined UI elements that may be implemented differently across various platforms, and they often require prior availability of UI elements for compliance verification.

Innovation Solution

A method and system that modify the binary executable of applications to generate code modules for runtime evaluation of user interfaces, categorizing UI elements based on accessibility requirements and applying corresponding accessibility compliance rules to determine compliance dynamically, enabling evaluation of both native and user-defined UI elements at runtime.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If traditional accessibility compliance checking methods are used, then evaluation can be performed, but the methods are not conducive to on-demand, unbiased, comprehensive, and selective evaluations and require prior availability of UI elements

Engineering Contradiction:
Improveevaluation flexibilityVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by injecting accessibility evaluation code modules into the application binary during the build process, before the application runs. This allows the evaluation framework to be pre-installed and ready to execute accessibility checks on-demand during runtime without requiring complex setup or prior availability of UI elements outside the application context

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses an intermediary approach by introducing a separate accessibility evaluation code module that acts as a mediator between the application binary and the accessibility compliance rules. This module is injected into the application and independently evaluates UI elements against accessibility requirements, providing unbiased evaluation without requiring the original application code to be modified or complex integration with external evaluation tools

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If runtime evaluation of user interfaces is implemented, then comprehensive accessibility assessment is achieved, but code modification and injection processes are required

Engineering Contradiction:
Improvecompliance evaluation accuracyVSAvoidimplementation ease
Core Design Contradiction:
Measurement precisionVSEase of manufacture

Solution Approach 1:

The accessibility code modules are injected into the application binary during the build process using preprocessing scripts. This preliminary action ensures that the evaluation framework is already integrated into the application before runtime, enabling comprehensive accessibility assessment without requiring manual code modifications or complex integration steps at deployment time

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The injected accessibility evaluation code modules are self-contained and automatically execute accessibility compliance checks when UI elements are created or modified during runtime. The modules independently access UI element data, evaluate them against accessibility rules, and generate compliance reports without requiring external evaluation tools or manual intervention, simplifying the implementation process

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10579346B2Mobile accessibility evaluation from application binary
Publication Date: 2020.03.03 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10579346B2 patent drawing
  • US10579346B2 patent drawing
  • US10579346B2 patent drawing

AI summary

Interface changing events are identified in the binary executable of an application. Code modules that are directed at evaluating accessibility requirements pertaining to the identified interface changing events are generated. A modified binary of the application is created with the modified binary including the binary executable and the generated code modules. When one of the interface changing events is identified, one of the generated code modules executes and returns a set of accessibility data that pertains to the interface changing event.