IP Library Granted Patent US 11,055,208
Granted Patent B1
US 11,055,208 · App. 16/735,807 · Granted Jul 6, 2021

Systems and methods for automatically assessing and conforming software development modules to accessibility guidelines in real-time

Inventors: Anil Kumar Pandurangarao (Buffalo Grove, IL); Sudharshun Ravichander (Des Plaines, IL); Andrew Pulley (Palatine, IL); Pramod Lekkala (Whitefield, IN)
Assignees: Allstate Insurance Company; Allstate Solutions Private Limited
G06F11/3684G06F8/70G06F16/958G06F16/9577
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,055,208
App. No.
16/735,807
Granted
Jul 6, 2021
Kind
B1
Abstract

Systems and methods are disclosed for automatically assessing and conforming software development modules to accessibility guidelines in real-time. The systems may facilitate an incremental development of applications. One or more modules or base codes of the application, as they are developed, may be tested for compliance to various accessibility standards (e.g., Web Content Accessibility Guidelines 2.0 ). If a module or base does not meet a specific threshold of compliance, systems and methods allow for an automatic modification of the module or base code to make it more compliant to the accessibility standards.

Claims (74)

1. A method comprising:

receiving, by a first computing device having at least one processor, a request to test a plurality of modules of a software application for accessibility compliance in real-time, wherein each of the plurality of modules comprises a plurality of base codes;

for each of the plurality of modules of the software application:

identifying the plurality of base codes of each of the plurality of modules; and

for each of the plurality of base codes of each of the plurality of modules of the software application:

determining one or more accessibility compliance provisions that are relevant to a given base code of the plurality of base codes;

determining, based on the determined one or more accessibility compliance provisions, one or more accessibility compliance test tools corresponding to the one or more accessibility compliance provisions; and

determining a test tool-specific accessibility compliance score for each of the one or more accessibility compliance test tools;

aggregating, for each of the plurality of modules of the software application, the test tool-specific accessibility compliance score of each of the one or more accessibility compliance test tools for each of the plurality of base codes;

generating a plurality of module-specific accessibility compliance scores corresponding to the plurality of modules; and

identifying, based on the plurality of module-specific accessibility compliance scores corresponding to the plurality of modules, one or more modules needing improvement in accessibility compliance, wherein the receiving, the aggregating, the generating, and the identifying of the one or more modules needing improvement occur in real-time.

2. The method of claim 1 , further comprising:

generating, based on the identified one or more modules needing improvement in accessibility compliance, one or more accessibility-compliant modules to replace the one or more modules needing improvement in accessibility compliance.

3. The method of claim 2 , further comprising, prior to the generating the one or more accessibility-compliant modules:

receiving a user input indicating a preference for the one or more accessibility-compliant modules.

4. The method of claim 2 , further comprising:

receiving, by the first computing device having the at least one processor, an additional request to test an additional module of the software application for accessibility compliance, wherein the plurality of modules includes the additional module.

5. The method of claim 1 , wherein the aggregating the test tool-specific accessibility compliance score of each of the one or more accessibility compliance test tools for each of the plurality of base codes further comprises:

assigning a weight to each of an individual accessibility compliance score of each of the one or more accessibility compliance test tools, based on a degree of relevance of the one or more accessibility compliance provisions to the base code.

6. The method of claim 1 , further comprising, after determining the test tool-specific compliance score for each of the one or more accessibility compliance testing tools:

generating, for each of the plurality of base codes, a base code-specific accessibility compliance score; and

identifying, based on the plurality of base code-specific accessibility compliance scores corresponding to the plurality of base codes, one or more base codes needing improvement in accessibility compliance.

7. The method of claim 6 , further comprising,

substituting one or more accessibility compliant base codes for the one or more base codes needing improvement in accessibility compliance.

8. The method of claim 1 , further comprising, prior to determining the one or more accessibility compliance provisions that are relevant to the given base code of the plurality of base codes:

generating a program executed by the given base code, wherein the determining the one or more accessibility compliance provisions that are relevant to the given base code is based on the program executed by the given base code.

9. The method of claim 8 , further comprising, after generating the program executed by the given base code:

assigning, based on the generated program, one or more program category tags; and

determining the one or more accessibility compliance provisions that are relevant to the given base code based on the one or more program category tags.

10. A method comprising:

receiving, by a first computing device having at least one processor, a base code to be tested for accessibility compliance, wherein the base code is one of a plurality of components of a software module;

determining a program executed by the base code;

assigning, based on the generated program, one or more program category tags;

determining one or more accessibility compliance provisions corresponding to the one or more program tags;

determining, based on the determined one or more accessibility compliance provisions, one or more accessibility compliance test tools corresponding to the one or more accessibility compliance provisions;

determining a test tool-specific accessibility compliance score for each of the one or more accessibility compliance test tools;

aggregating the test tool-specific accessibility compliance score of each of the one or more accessibility compliance test tools to generate a base code-specific accessibility compliance score for the base code; and

determining, based on the base code-specific accessibility compliance score failing to satisfy a threshold, that the base code needs improvement in accessibility compliance, wherein the receiving the base code to be tested for accessibility compliance and the determining that the base code needs improvement in accessibility compliance occur in real-time.

11. The method of claim 10 , further comprising:

identifying, based on the test tool-specific accessibility compliance score of each of the one or more accessibility compliance testing tools, an aspect of the base code needing improvement in accessibility compliance.

12. The method of claim 10 , further comprising,

modifying the base code to generate an accessibility compliant base code.

13. The method of claim 10 , wherein the aggregating the test tool-specific accessibility compliance scores to generate the base code-specific accessibility compliance score further comprises:

assigning a weight to each of the test tool-specific accessibility compliance scores based on a degree of relevance of the one or more accessibility compliance provisions.

14. The method of claim 10 , further comprising,

receiving, by the first computing device having the at least one processor, additional base codes to be tested for accessibility compliance, wherein the additional base codes are also components of the software module;

generating additional base code-specific accessibility compliance scores corresponding to the additional base codes; and

aggregating the base code-specific accessibility compliance score of the base code and the additional base code-specific accessibility compliance scores corresponding to the additional base codes to generate a module-specific accessibility compliance score for the software module.

15. The method of claim 14 , further comprising:

determining, based on the module-specific accessibility compliance score failing to satisfy a threshold, that the software module needs improvement in accessibility compliance.

16. The method of claim 15 , further comprising:

identifying, based on one or more of base code-specific accessibility compliance score of the base code and the additional base code-specific compliance scores corresponding to the additional base codes, a defective base code needing improvement in accessibility compliance.

17. The method of claim 16 ,

substituting an accessibility compliant base code for the defective base code needing improvement in accessibility compliance.

18. A system comprising:

one or more processors;

memory storing computer-executable instructions that, when executed by the one or more processors, cause the system to:

receive a request to test one or more modules of a software application for accessibility compliance in real-time, wherein each of the one or more modules comprises a plurality of base codes;

for each of the plurality of base codes of each of the plurality of modules:

determine one or more accessibility compliance provisions that are relevant to a given base code of the plurality of base codes;

determine, based on the determined one or more accessibility compliance provisions, one or more accessibility compliance test tools corresponding to the one or more accessibility compliance provisions; and

determine a test tool-specific accessibility compliance score for each of the one or more accessibility compliance testing tools;

aggregate, for each of the one or more modules of the software application, the test tool-specific accessibility compliance scores to generate one or more module-specific accessibility compliance scores corresponding to the one or more modules; and

identify, based on the one or more module-specific accessibility compliance scores corresponding to the plurality of modules, a module needing improvement in accessibility compliance, wherein the receiving, the aggregating, and the identifying occur in real-time.

19. The system of claim 18 , wherein the memory stores additional computer-executable instructions, which when executed by the one or more processors, cause the system to:

after determining the test tool-specific compliance score for each of the one or more accessibility compliance testing tools,

aggregate, for each of the plurality of base codes, the test tool-specific compliance score for each of the one or more accessibility compliance test tools to generate a base code-specific accessibility compliance score;

identify, based on a plurality of base code-specific accessibility compliance scores corresponding to the plurality of base codes, a defective base code needing improvement in accessibility compliance.

20. The system of claim 18 , wherein the one or more accessibility compliance test tools comprises one or more of:

a color contrast analyzer;

a tool to check for a capability for screen reading;

a web accessibility evaluation tool;

a web browser extension or plug-in; or

a screen reader.

Assignments (3)
CHANGE OF NAME Recorded Feb 18, 2025
From: ALLSTATE SOLUTIONS PRIVATE LIMITED
To: ALLSTATE INDIA PRIVATE LIMITED
Reel/Frame 070239/0397 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 12, 2021
From: LEKKALA, PRAMOD
To: ALLSTATE SOLUTIONS PRIVATE LIMITED
Reel/Frame 056213/0291 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 12, 2021
From: PANDURANGARAO, ANIL KUMAR; RAVICHANDER, SUDHARSHUN; PULLEY, ANDREW
To: ALLSTATE INSURANCE COMPANY
Reel/Frame 056213/0830 →
Cited By (1)
US 12,211,487