Web Composition with WCAG in Mind
Vicente Luque Centeno, Carlos Delgado Kloos, Martin Gaedke, Martin Nussbaumer · 2005 · Proceedings of the 2005 International Cross-Disciplinary Workshop on Web Accessibility (W4A) · doi:10.1145/1061811.1061819
Summary
This paper argues that accessibility should be built into the web authoring process rather than treated as a post-design repair activity. The authors address the specific challenge of web composition — the common practice of building web pages by dynamically combining reusable HTML fragments (snippets) from templates and heterogeneous data sources. The core problem is that even when individual HTML snippets are each WCAG-compliant, composing them together can introduce new accessibility barriers that neither piece had in isolation. For example, nesting a snippet containing a link inside another snippet's link creates an invalid nested focusable element; combining snippets with overlapping id attributes breaks label-to-field associations; merging content in different languages without explicit lang attributes violates language identification requirements; and juxtaposing snippets can create consecutive links without separating text. The authors formalize a comprehensive set of composition rules as XPath and XQuery expressions that authoring tools can evaluate automatically before or during composition. These rules are categorized into "process-aware checkpoints" (conditions that must be actively verified during composition, such as no nested forms, no duplicate IDs, proper color contrast inheritance, unique tab indices, and unique access keys) and "guaranteed-by-process checkpoints" (WCAG requirements that are automatically preserved when accessible snippets are combined, such as alt text on images and proper heading structure). The paper also presents WSLS (Web-Composition Service Linking System), a component-based authoring platform built on .NET that implements these rules using separation of concerns across six service element categories.
Key findings
The paper's central contribution is a formal proof by induction that if all base HTML snippets are accessible and the composition process follows the defined rules, then all composed output will also be accessible. The formalized rules cover: grammar validation (ensuring snippets fit syntactically at insertion points per the DTD/Schema); prevention of nested focusable elements (links within links, buttons within labels); prevention of nested forms and nested tables (for XHTML Basic); uniqueness of id and name attributes across composed snippets; proper inheritance of foreground/background color combinations when CSS properties cascade across snippet boundaries; explicit language identification when snippets in different languages are combined; unique tabindex values and unique accesskey shortcuts; non-consecutive links at snippet boundaries; non-ambiguous link text (same text/title must point to same target); and proper abbreviation/acronym definitions appearing only once. The WSLS implementation demonstrates that these rules can be practically enforced through a combination of automated XPath checks and guided author interactions — for instance, automatically prompting the author to specify the language of inserted content when it differs from the container.
Relevance
This paper was ahead of its time in advocating for accessibility-by-design within authoring tools, an approach that has become mainstream with modern component-based frameworks like React, Angular, and Vue. The fundamental insight — that accessible components can produce inaccessible compositions — remains highly relevant today. Modern web development assembles pages from component libraries, and the same categories of composition bugs the authors identified still occur: duplicate IDs from reused components, nested interactive elements, missing language attributes on dynamically inserted content, and broken label associations. The formalized rules anticipate concepts now embedded in linting tools like eslint-plugin-jsx-a11y and axe-core, which check for nested interactive elements, duplicate IDs, and other composition-level accessibility issues. For practitioners building design systems or component libraries, this paper provides a rigorous framework for thinking about which accessibility properties are preserved automatically through composition and which require active enforcement at integration time.
Tags: web composition · authoring tools · WCAG compliance · accessibility by design · component-based development · HTML validation · automated accessibility
Standards referenced: WCAG 1.0 · XHTML · XPath · XQuery · Section 508