Affiliation:
1. University of Utah, USA
2. University of Washington, USA
3. Adobe, USA
Abstract
Automated verification can ensure that a web page satisfies accessibility, usability, and design properties regardless of the end user's device, preferences, and assistive technologies. However, state-of-the-art verification tools for layout properties do not scale to large pages because they rely on whole-page analyses and must reason about the entire page using the complex semantics of the browser layout algorithm.
This paper introduces and formalizes modular layout proofs. A modular layout proof splits a monolithic verification problem into smaller verification problems, one for each component of a web page. Each component specification can use rely/guarantee-style preconditions to make it verifiable independently of the rest of the page and enabling reuse across multiple pages. Modular layout proofs scale verification to pages an order of magnitude larger than those supported by previous approaches.
We prototyped these techniques in a new proof assistant, Troika. In Troika, a proof author partitions a page into components and writes specifications for them. Troika then verifies the specifications, and uses those specifications to verify whole-page properties. Troika also enables the proof author to verify different component specifications with different verification tools, leveraging the strengths of each. In a case study, we use Troika to verify a large web page and demonstrate a speed-up of 13--1469x over existing tools, taking verification time from hours to seconds. We develop a systematic approach to writing Troika proofs and demonstrate it on 8 proofs of properties from prior work to show that modular layout proofs are short, easy to write, and provide benefits over existing tools.
Publisher
Association for Computing Machinery (ACM)
Subject
Safety, Risk, Reliability and Quality,Software
Cited by
12 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Automatically Detecting Reflow Accessibility Issues in Responsive Web Pages;Proceedings of the IEEE/ACM 46th International Conference on Software Engineering;2024-04-12
2. ScaleFix: An Automated Repair of UI Scaling Accessibility Issues in Android Applications;2023 IEEE International Conference on Software Maintenance and Evolution (ICSME);2023-10-01
3. Detecting Dialog-Related Keyboard Navigation Failures in Web Applications;2023 IEEE/ACM 45th International Conference on Software Engineering (ICSE);2023-05
4. Visual-Aware Testing and Debugging for Web Performance Optimization;Proceedings of the ACM Web Conference 2023;2023-04-30
5. BAGEL: An Approach to Automatically Detect Navigation-Based Web Accessibility Barriers for Keyboard Users;Proceedings of the 2023 CHI Conference on Human Factors in Computing Systems;2023-04-19