VizAssert Visual Logic Assertion HTML + CSS Assertion QFLRA ( SMT ) 3 § 4 Accessibility Guidelines

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. CCSConcepts • Software and its engineering→Graphical UI languages; Software maintenance tools;

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

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

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

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

[5]  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).

[6]  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).

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

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

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

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

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

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

[13]  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.

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

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

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

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

[18]  Cedric E. Ginestet ggplot2: Elegant Graphics for Data Analysis , 2011 .

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

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

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

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

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

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

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

[26]  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..

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

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

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

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

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

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

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

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

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