Award Abstract # 1836813
FMitF: Formal Verification of Accessibility

NSF Org: CCF
Division of Computing and Communication Foundations
Recipient: UNIVERSITY OF WASHINGTON
Initial Amendment Date: August 10, 2018
Latest Amendment Date: June 10, 2022
Award Number: 1836813
Award Instrument: Standard Grant
Program Manager: Pavithra Prabhakar
CCF
 Division of Computing and Communication Foundations
CSE
 Directorate for Computer and Information Science and Engineering
Start Date: January 1, 2019
End Date: December 31, 2022 (Estimated)
Total Intended Award Amount: $738,125.00
Total Awarded Amount to Date: $786,125.00
Funds Obligated to Date: FY 2018 = $738,125.00
FY 2019 = $16,000.00

FY 2021 = $16,000.00

FY 2022 = $16,000.00
History of Investigator:
  • Michael Ernst (Principal Investigator)
    mernst@cs.washington.edu
  • Jennifer Mankoff (Co-Principal Investigator)
  • Amy Ko (Co-Principal Investigator)
  • Zachary Tatlock (Co-Principal Investigator)
Recipient Sponsored Research Office: University of Washington
4333 BROOKLYN AVE NE
SEATTLE
WA  US  98195-1016
(206)543-4043
Sponsor Congressional District: 07
Primary Place of Performance: University of Washington
Box 352350
Seattle
WA  US  98195-2350
Primary Place of Performance
Congressional District:
07
Unique Entity Identifier (UEI): HD1WMN6945W6
Parent UEI:
NSF Program(s): Software & Hardware Foundation,
FMitF: Formal Methods in the F
Primary Program Source: 01002223DB NSF RESEARCH & RELATED ACTIVIT
01001819DB NSF RESEARCH & RELATED ACTIVIT

01001920DB NSF RESEARCH & RELATED ACTIVIT

01002122DB NSF RESEARCH & RELATED ACTIVIT
Program Reference Code(s): 062Z, 071Z, 8206, 9251
Program Element Code(s): 779800, 094Y00
Award Agency Code: 4900
Fund Agency Code: 4900
Assistance Listing Number(s): 47.070

ABSTRACT

Most of the web is not designed for accessibility for the nearly one billion people that have a disability such as blindness, low vision, motorphysical impairments, or dyslexia, and no comprehensive, precise verification tools currently exist for checking accessibility. Existing testing tools are limited, imprecise, and incomplete, and even when they are used, they give guarantees only about one particular web browser configuration such as window size, default fonts and colors. This project aims to enable the formal verification of web accessibility. The research to be pursued involves the automatic identification of a broader class of accessibility problems that is currently possible and is intended to give guarantees of absence of such problems for all possible web browser configurations. The software tools developed in this project are intended to give web developers and content producers targeted, concrete feedback on who is affected by an accessibility issue, and why, and how to fix any problems.

The project develops a user interface logic for specifying accessibility properties, and formalizes a large fragment of browser rendering algorithms using novel finitization reductions. The project builds software tools that translates web pages, accessibility rules, and the browser algorithm to quantifier-free linear real arithmetic, using an SMT solver to verify it or produce a concrete, inaccessible rendering of the webpage. To make the results of these verifications useful and usable to developers, content producers, and web users, the investigators develop new classes of concrete, comprehensible, and actionable warning explanations and new techniques for patching accessibility at run time. To evaluate all of this work, the project is partnering with Adobe, Instructure, and Wikimedia.

This award reflects NSF's statutory mission and has been deemed worthy of support through evaluation using the Foundation's intellectual merit and broader impacts review criteria.

PUBLICATIONS PRODUCED AS A RESULT OF THIS RESEARCH

Note:  When clicking on a Digital Object Identifier (DOI) number, you will be taken to an external site maintained by the publisher. Some full text articles may not yet be available without a charge during the embargo (administrative interval).

Some links on this page may take you to non-federal websites. Their policies may differ from this site.

Kawas, Saba and Vonessen, Laura and Ko, Andrew J. "Teaching Accessibility: A Design Exploration of Faculty Professional Development at Scale" ACM Technical Symposium on Computer Science Education (SIGCSE) , 2019 https://doi.org/10.1145/3287324.3287399 Citation Details
Mack, Kelly and McDonnell, Emma and Potluri, Venkatesh and Xu, Maggie and Zabala, Jailyn and Bigham, Jeffrey and Mankoff, Jennifer and Bennett, Cynthia "Anticipate and Adjust: Cultivating Access in Human-Centered Methods" CHI '22: Proceedings of the 2022 CHI Conference on Human Factors in Computing Systems , 2022 https://doi.org/10.1145/3491102.3501882 Citation Details
Oleson, Alannah and Solomon, Meron and Ko, Amy J. "Computing Students' Learning Difficulties in HCI Education" ACM SIGCHI Conference on Human Factors in Computing Systems (CHI) , 2020 https://doi.org/10.1145/3313831.3376149 Citation Details
Oleson, Alannah and Solomon, Meron and Perdriau, Christopher and Ko, Amy J. "Teaching Inclusive Design Skills with the CIDER Assumption Elicitation Technique" ACM Transactions on Computer-Human Interaction , 2022 https://doi.org/10.1145/3549074 Citation Details
Panchekha, Pavel and Ernst, Michael D. and Tatlock, Zachary and Kamil, Shoaib "Modular verification of web page layout" Proceedings of the ACM on Programming Languages , v.3 , 2019 10.1145/3360577 Citation Details
Potluri, Venkatesh and He, Liang and Chen, Christine and Froehlich, Jon E. and Mankoff, Jennifer "A Multi-Modal Approach for Blind and Visually Impaired Developers to Edit Webpage Designs" ASSETS '19: The 21st International ACM SIGACCESS Conference on Computers and Accessibility , 2019 https://doi.org/10.1145/3308561.3354626 Citation Details
Potluri, Venkatesh and Thompson, John and Devine, James and Lee, Bongshin and Morsi, Nora and De Halleux, Peli and Hodges, Steve and Mankoff, Jennifer "PSST: Enabling Blind or Visually Impaired Developers to Author Sonifications of Streaming Sensor Data" UIST '22: Proceedings of the 35th Annual ACM Symposium on User Interface Software and Technology , 2022 https://doi.org/10.1145/3526113.3545700 Citation Details

PROJECT OUTCOMES REPORT

Disclaimer

This Project Outcomes Report for the General Public is displayed verbatim as submitted by the Principal Investigator (PI) for this award. Any opinions, findings, and conclusions or recommendations expressed in this Report are those of the PI and do not necessarily reflect the views of the National Science Foundation; NSF has not approved or endorsed its content.

The team developed the first toolkit that equips blind and visually impaired (BVI) developers with the tools to create accessible data displays. Called PSST (Physical computing Streaming Sensor data Toolkit), it enables BVI developers to understand the data generated by sensors from a mouse to a micro:bit physical computing platform. By assuming visual abilities, earlier efforts to make physical computing accessible fail to address the need for BVI developers to access sensor data. PSST enables BVI developers to understand real-time, real-world sensor data by providing control over what should be displayed, as well as when to display and how to display sensor data. PSST supports filtering based on raw or calculated values, highlighting, and transformation of data. Output formats include tonal sonification, non-speech audio files, speech, and SVGs for laser cutting. We validated PSST through a series of demonstrations and a user study with BVI developers.

 

Additionally, this grant supported extensive studies including understanding engineers? baseline familiarity with accessibility techniques. This is critical for verifying accessibility: we must ensure that the engineers who triage, diagnose, and repair accessibility defects have sufficient knowledge to do so. In a field study with more than two dozen developers highly experienced with software engineering but inexperienced with accessibility, we found that many engineers avoid prioritizing accessibility defects because they do not feel confident estimating the severity of accessibility problems, do not feel confident either formally or informally verifying that they?ve resolved a problem, and in many cases, make assumptions that accessibility problems are not problems.

 

The team also explored how programming language design itself can help or hinder formal verification of accessibility. In traditional languages, much of the information necessary for accessibility is often discarded at compile or runtime for the sake of efficiency. The team explored the design of programming languages that incorporate accessibility in the language itself, including extensive provenance information that allows all aspects of program evaluation to be described as text, as well as enabling extensive formal static analysis of what accessibility information is missing. Our prototype, a language designed for creative expression with typography, provides a promising platform for enabling formal verification of accessibility.

 

Finally, the team also investigated how program equivalence techniques can be enhanced, and even automatically extended, with the goal of ensuring that software capabilities are maintained across different interaction models. Such high-level reasoning is difficult in complex software environments where functionality may be accessed via different modalities. This grant helped establish the foundation to automatically infer behavioral equivalences between different operations so that, if one method of computing some desired result is not available under a certain mode, the user may be able to apply another equivalent set of operations to achieve an equivalent result.

 


Last Modified: 04/07/2023
Modified by: Zachary Tatlock

Please report errors in award information by writing to: awardsearch@nsf.gov.

Print this page

Back to Top of page