The HTML specifications for forms suggests using a
<legend> to define similar items within a form. Normally this is used to combine the forms into large chunks, for instance the billing address, credit card information, and personal information. It’s also useful for combining radio and checkbox sets.
Typically, we associate a form input with a label. The label is announced as the screen reader places focus on the input. This works very well for letting the user know what the checkbox or radio button represents, but it doesn’t give the user context for how it is applied. For instance, the following radio button would be announced as “radio button Yes”. But what is the user saying yes to?
Continue Reading Fieldset legend, aria-describedby, and radiogroup role
ARIA landmarks allow developers to associate structural significance to web page elements. Common landmarks define navigation, header, the main content, and the page’s footer. It’s also possible to define more specific subelements, such as a search form. This page will test the use of
role="form" to define multiple forms on a single page. While this may seem uncommon, it could be seen on a page that has a search, sign up, and login form.
The role attribute is placed on the form tag. In general, you do not want to put a landmark above a similar semantic object, so
<form role="form">, <nav role="navigation">. Add
aria-label to let the user know what the form will include. This is especially helpful when navigating by landmarks.
Continue Reading Using the ARIA Form Landmark
Here’s an older video of a presentation I gave at one of Yahoo’s Front End Engineering Summits. I discussed some of the common issues we still find in web sites, from the alt attribute to forms. You can find more videos like this on the Yahoo! Accessibility Lab’s YouTube Channel.
Continue Reading Common Accessibility Mistakes with HTML and CSS