dashorst opened a new issue, #1839:
URL: https://github.com/apache/wicket/issues/1839

   The user guide does not tell developers how to build an accessible Wicket 
application. It has no chapter or section on accessibility, and none of its 
examples use ARIA. Its own HTML examples also fall short: no `<html>` in the 
guide carries a `lang` attribute, so pages built from "Wicket says Hello 
world!" or "Wicket as page layout manager" fail WCAG 3.1.1 Language of Page 
from the first line.
   
   Much of WCAG 2.2 level AA can be met with what Wicket offers today. This 
issue adds an accessibility chapter to the AsciiDoc user guide 
(`wicket-user-guide/src/main/asciidoc`) that documents how, separately from the 
audit of the components themselves (#1838), which will change some of the 
answers later.
   
   ## The chapter
   
   1. **What Wicket does and what the application does.** WCAG conforms pages, 
not libraries. What Wicket's components take care of, what stays with the 
application (contrast, alternative texts, headings, the wording of labels and 
messages), and how the server-side component model and Ajax updates bear on 
accessibility.
   2. **WCAG 2.2 success criteria in Wicket.** A table with, per success 
criterion of level A and AA, the Wicket mechanism to use, what is left to the 
application, and a link to the section of this chapter where code is needed. 
Criteria Wicket has no bearing on are listed as such, so the table is complete.
   3. **Sections with code** for the criteria that need it:
      - an accessible base page: a title per page, `lang` on `<html>` from the 
session locale, a skip link and landmarks
      - accessible form errors: labels with `wicket:for`, `setLabel`, feedback 
next to the field, `aria-invalid` and `aria-describedby`
      - focus and announcements after Ajax updates: `focusComponent`, live 
regions that stay in the page
      - keyboard-operable Ajax controls: Ajax behaviors on `<a href>` and 
`<button>`, not on `<div>`
      - accessible data tables: `<th>`, captions, sortable headers
   
   Where current Wicket falls short (no `lang` support in core, error state 
that reaches the label as a CSS class but not the field as `aria-invalid`, the 
default error pages), the chapter shows the workaround that works today and the 
gap is reported to #1838.
   
   The examples elsewhere in the guide get a `lang` attribute where they show a 
full page, and the layout chapter's base page gets the title, `lang` and skip 
link, so the chapter can refer to it.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to