IP Library Granted Patent US 11,544,176
Granted Patent B1
US 11,544,176 · App. 17/366,629 · Granted Jan 3, 2023

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

Inventors: Anil Kumar Pandurangarao (Buffalo Grove, IN); 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,544,176
App. No.
17/366,629
Granted
Jan 3, 2023
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 (73)

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 base code of the plurality of modules of the software application:

determining, based on 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.

2. The method of claim 1 , further comprising:

generating 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:

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

4. The method of claim 2 , further comprising:

receiving an additional request to test an additional module of the software application for accessibility compliance.

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 individual accessibility compliance score of each of the one or more accessibility compliance test tools.

6. An apparatus comprising:

one or more processors; and

memory storing instructions that, when executed by the one or more processors, cause the apparatus to:

receive a base code to be tested for accessibility compliance, wherein the base code is one of a plurality of components of a software module;

determine a program executed by the base code;

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

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

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;

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

aggregate 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

determine, 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.

7. The apparatus of claim 6 , the memory storing instructions that, when executed by the one or more processors, cause the apparatus to:

identify, 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.

8. The apparatus of claim 6 , the memory storing instructions that, when executed by the one or more processors, cause the apparatus to,

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

9. The apparatus of claim 6 , wherein aggregating the test tool-specific accessibility compliance scores to generate the base code-specific accessibility compliance score further comprises:

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

10. The apparatus of claim 6 , the memory storing instructions that, when executed by the one or more processors, cause the apparatus to:

receive additional base codes to be tested for accessibility compliance, wherein the additional base codes are also components of the software module;

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

aggregate 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.

11. The apparatus of claim 10 , the memory storing instructions that, when executed by the one or more processors, cause the apparatus to:

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

12. The apparatus of claim 11 , the memory storing instructions that, when executed by the one or more processors, cause the apparatus to:

identify, 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.

13. The apparatus of claim 12 , the memory storing instructions that, when executed by the one or more processors, cause the apparatus to:

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

14. An apparatus comprising:

one or more processors; and

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

receive, 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 base code of the plurality of modules of the software application:

determine, based on 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 test tools;

aggregate, 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;

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

identify, 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.

15. The apparatus of claim 14 , wherein the memory stores additional computer-executable instructions, which when executed by the one or more processors, cause the apparatus 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.

16. The of claim 14 , wherein the one or more accessibility compliance test tools comprises one or more of:

a color contrast analyzer;

a tool to check for the capability for screen reading;

a web accessibility evaluation tool;

a web browser extension or plug-in; or

a screen reader.

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

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

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

generate one or more accessibility-compliant modules to replace the one or more modules needing improvement in accessibility compliance.

19. The apparatus of claim 14 , the memory storing instructions that, when executed by the one or more processors, cause the apparatus to:

receive additional base codes to be tested for accessibility compliance, wherein the additional base codes are also components of the software module;

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

aggregate 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.

20. The apparatus of claim 19 , the memory storing instructions that, when executed by the one or more processors, cause the apparatus to:

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

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 Jul 6, 2021
From: PANDURANGARAO, ANIL KUMAR; RAVICHANDER, SUDHARSHUN; PULLEY, ANDREW
To: ALLSTATE INSURANCE COMPANY
Reel/Frame 056762/0692 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 6, 2021
From: LEKKALA, PRAMOD
To: ALLSTATE SOLUTIONS PRIVATE LIMITED
Reel/Frame 056762/0727 →
Continuity (1)
Continuation 16735807 · Jan 7, 2020