Verifying that web pages have accessible layout

Usability and accessibility guidelines aim to make graphical user interfaces accessible to all users, by, say, requiring that text is sufficiently large, interactive controls are visible, and heading size corresponds to importance. These guidelines must hold on the infinitely many possible renderings of a web page generated by differing screen sizes, fonts, and other user preferences. Today, these guidelines are tested by manual inspection of a few renderings, because 1) the guidelines are not expressed in a formal language, 2) the semantics of browser rendering are not well understood, and 3) no tools exist to check all possible renderings of a web page. VizAssert solves these problems. First, it introduces visual logic to precisely specify accessibility properties. Second, it formalizes a large fragment of the browser rendering algorithm using novel finitization reductions. Third, it provides a sound, automated tool for verifying assertions in visual logic. We encoded 14 assertions drawn from best-practice accessibility and mobile-usability guidelines in visual logic. VizAssert checked them on on 62 professionally designed web pages. It found 64 distinct errors in the web pages, while reporting only 13 false positive warnings.

[1]  Ivan E. Sutherland,et al.  Sketch pad a man-machine graphical communication system , 1964, DAC.

[2]  Ravi Chugh,et al.  Programmatic and direct manipulation, together at last , 2015, PLDI.

[3]  Ali Mesbah,et al.  Automated cross-browser compatibility testing , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[4]  Burns David Selenium 2 Testing Tools: Beginner's Guide , 2012 .

[5]  Jeffrey Heer,et al.  ReVision: automated classification, analysis and redesign of chart images , 2011, UIST.

[6]  Christopher J. Van Wyk,et al.  A High-Level Language for Specifying Pictures , 1982, TOGS.

[7]  Barry Alan Feigenbaum,et al.  Accessibility validation with RAVEN , 2006, WoSQ '06.

[8]  Nikolaj Bjørner,et al.  Z3: An Efficient SMT Solver , 2008, TACAS.

[9]  Brad A. Myers,et al.  Graphical styles for building interfaces by demonstration , 1992, UIST '92.

[10]  Rebecca Matson,et al.  Barriers to use: usability and content accessibility on the Web's most popular sites , 2000, CUU '00.

[11]  Mike Y. Chen,et al.  SeeSS: seeing what i broke -- visualizing change impact of cascading style sheets (css) , 2013, UIST.

[12]  Rastislav Bodík,et al.  Programming by manipulation for layout , 2014, UIST.

[13]  Phil McMinn,et al.  Automatic Detection of Potential Layout Faults Following Changes to Responsive Web Pages (N) , 2015, 2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE).

[14]  Leland Wilkinson,et al.  The Grammar of Graphics (Statistics and Computing) , 2005 .

[15]  Emina Torlak,et al.  Automated reasoning for web page layout , 2016, OOPSLA.

[16]  Mireia Ribera Turró Web Content Accessibility Guidelines 1.0 , 2001 .

[17]  Thomas J. Ostrand,et al.  A visual test development environment for GUI systems , 1998, ISSTA.

[18]  Paolo Tonella,et al.  Automated generation of visual web tests from DOM-based web tests , 2015, SAC.

[19]  Alessandro Orso,et al.  CrossCheck: Combining Crawling and Differencing to Better Detect Cross-browser Incompatibilities in Web Applications , 2012, 2012 IEEE Fifth International Conference on Software Testing, Verification and Validation.

[20]  Robert A. Wilkin,et al.  National Federation of the Blind , 1958 .

[21]  Ranjitha Kumar,et al.  Bricolage: example-based retargeting for web design , 2011, CHI.

[22]  Peter Gregor,et al.  Evaluating web resources for disability access , 2000, Assets '00.

[23]  Alessandro Orso,et al.  WEBDIFF: Automated identification of cross-browser issues in web applications , 2010, 2010 IEEE International Conference on Software Maintenance.

[24]  Tuan Anh Nguyen,et al.  Reverse Engineering Mobile Application User Interfaces with REMAUI (T) , 2015, 2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE).

[25]  Jeffrey P. Bigham Making the web easier to see with opportunistic accessibility improvement , 2014, UIST.

[26]  Sylvain Hallé,et al.  Testing Web Applications Through Layout Constraints , 2015, 2015 IEEE 8th International Conference on Software Testing, Verification and Validation (ICST).

[27]  Peter J. Stuckey,et al.  Constraint cascading style sheets for the Web , 1999, UIST '99.

[28]  Tom Yeh,et al.  Associating the visual representation of user interfaces with their internal structures and metadata , 2011, UIST.

[29]  Phil McMinn,et al.  Automated repair of layout cross browser issues using search-based techniques , 2017, ISSTA.

[30]  Steven Pemberton,et al.  Cascading Style Sheets Level 2 Revision 1 (CSS 2.1) Specification , 2010 .

[31]  Atif M. Memon,et al.  Designing and comparing automated test oracles for GUI-based software applications , 2007, TSEM.

[32]  Gregg C. Vanderheiden,et al.  Web Content Accessibility Guidelines (WCAG) 2.0 , 2008 .

[33]  Phil McMinn,et al.  Automated layout failure detection for responsive web pages without an explicit oracle , 2017, ISSTA.

[34]  Atif M. Memon,et al.  GUI ripping: reverse engineering of graphical user interfaces for testing , 2003, 10th Working Conference on Reverse Engineering, 2003. WCRE 2003. Proceedings..

[35]  Jennifer Mankoff,et al.  Is your web page accessible?: a comparative study of methods for assessing web page accessibility for the blind , 2005, CHI.

[36]  吉田 則裕,et al.  Android Open Source Projectを対象としたパッチレビュー活動の調査 , 2012 .

[37]  Brad A. Myers,et al.  The Lapidary graphical interface design tool , 1991, CHI '91.

[38]  Alan Borning,et al.  Constraints for the web , 1997, MULTIMEDIA '97.

[39]  Rob Miller,et al.  GUI testing using computer vision , 2010, CHI.

[40]  Aline Chevalier,et al.  A Study of Automated Web Site Evaluation Tools , 2002 .

[41]  Melody Y. Ivory Automated Evaluation Tools , 2003 .

[42]  Leo A. Meyerovich,et al.  Fast and parallel webpage layout , 2010, WWW '10.

[43]  Hadley Wickham,et al.  ggplot2 - Elegant Graphics for Data Analysis (2nd Edition) , 2017 .