Automatic accessibility evaluation of dynamic web pages generated through XSLT
André Pimenta Freire, Renata Pontin de Mattos Fortes · 2005 · Proceedings of the 2005 International Cross-Disciplinary Workshop on Web Accessibility (W4A) · doi:10.1145/1061811.1061826
Summary
This paper from researchers at the University of São Paulo addresses a gap in accessibility evaluation tooling: the inability of automated checkers to test dynamically generated web pages. In 2005, tools like Bobby, LIFT, and WAVE could only evaluate static HTML output — meaning that when a server-side script produced different HTML depending on user input or conditions, the tool would only check one possible output, potentially missing accessibility violations in other branches. The authors build on prior work by Stone and Dhiensa, who proposed creating a "generalized page" containing all possible outputs from server-side scripts (PHP, ASP, JSP) and then running accessibility checks against that combined document. Freire and Fortes propose a complementary approach specifically for web applications built with XML and XSLT. Their method analyses the XSLT stylesheet together with its associated DTD or XML Schema Definition (XSD) to systematically determine all possible HTML outputs that could be generated from valid XML input documents. Because the XML schema formally defines the structure and data types of permissible input, the approach can identify accessibility problems that would be invisible to conventional checkers — such as conditional branches that can never execute due to type mismatches, or template references to elements that do not exist in the schema.
Key findings
The paper demonstrates its approach through two concrete examples. In the first, an XSLT conditionally adds alt text to an image only when an XML element called "level" equals the string "accessible" — but the XSD defines that element as an integer, meaning the condition can never be true and the image will always lack alternative text. In the second example, an XSLT tries to use a "description" element for alt text, but the XSD shows no such element exists in the document structure, so alt text will never be generated. These examples illustrate how cross-referencing XSLT logic against XML schema definitions can catch accessibility defects that no amount of runtime testing of individual page outputs would reliably find. The authors draw an analogy to white-box software testing, where the internal structure and data flow are visible to the tester, arguing that XML/XSLT architectures provide structural transparency that imperative scripting languages like PHP do not.
Relevance
While XSLT-based web architectures are far less common today, this paper represents an early and important contribution to the problem of testing dynamically generated content for accessibility — a challenge that has only grown more complex with modern JavaScript frameworks, single-page applications, and server-side rendering. The core insight remains highly relevant: evaluating only one snapshot of dynamic output is insufficient, and accessibility testing must account for all possible states a page can reach. Modern parallels include the need to test accessibility across different application states, user roles, and data conditions in React, Vue, or Angular applications. The paper also highlights the value of leveraging structural metadata (schemas, type systems, component contracts) to reason about accessibility properties at build time rather than only at runtime.
Tags: automated testing · web accessibility evaluation · XML · XSLT · dynamic web pages · accessibility tools
Standards referenced: WCAG 1.0