In each form, is each legend associated with a group of fields of the same nature relevant?
A screen reader user navigating a complex form relies on the legend to understand each group of fields. If that legend says "Information" or "Group 1", the user hears a series of fields with no apparent connection. A vague legend means an inaccessible form.
Criterion 11.7 does not verify the existence of a legend (that is the role of criterion 11.6). It verifies whether the legend text clearly describes the nature of the grouping. "Billing address" is relevant. "Step 2" or "Required fields" are not: these texts describe the form's structure, not the nature of the data being requested.
The legend can be carried by <legend>, an aria-label, or an aria-labelledby on an element with role="group" or role="radiogroup". Regardless of the mechanism, it is the text content that is audited. A relevant legend answers a single question: if you read this text without seeing the fields that follow, do you know what you are going to fill in?
Un test to ensure that the legend of each group is explicit
Relevance of field group legend text
- Identify all groups of fields of the same nature in the form:
<fieldset>, elements withrole="group"orrole="radiogroup". - For each group that has a legend (
<legend>,aria-label, oraria-labelledby), read only the text of that legend. - Verify that this text clearly describes the nature of the grouping. A user who reads only this legend must understand what they will be asked to fill in.
- A generic text ("Information", "Step 1", "Group") is non-compliant.
- If all groups that have a legend have relevant text, the test is validated.
Examples
❌ Non-compliant : Non-relevant generic legend
<fieldset>
<legend>Information</legend>
<label for="fact-rue">Street</label>
<input type="text" id="fact-rue" name="fact_rue">
<label for="fact-cp">Postal code</label>
<input type="text" id="fact-cp" name="fact_cp">
<label for="fact-ville">City</label>
<input type="text" id="fact-ville" name="fact_ville">
</fieldset>The legend "Information" says nothing about the nature of the fields. NVDA announces "Information, group, Street, text box". In a form with two address blocks, the user does not know whether they are entering a delivery or billing address. The confusion leads to data entry errors.
✅ Compliant : Descriptive and relevant legend
<fieldset>
<legend>Billing address</legend>
<label for="fact-rue">Street</label>
<input type="text" id="fact-rue" name="fact_rue">
<label for="fact-cp">Postal code</label>
<input type="text" id="fact-cp" name="fact_cp">
<label for="fact-ville">City</label>
<input type="text" id="fact-ville" name="fact_ville">
</fieldset>NVDA announces "Billing address, group, Street, text box". The user immediately understands the context of each field. When the form also contains a "Delivery address" block, the distinction is clear.
✅ Compliant : Radio button group with legend as a question
<fieldset>
<legend>Do you wish to receive our offers by email?</legend>
<label>
<input type="radio" name="newsletter" value="yes"> Yes
</label>
<label>
<input type="radio" name="newsletter" value="no"> No
</label>
</fieldset>For a radio button group, the legend serves as the question. Without it, the user hears "Yes, radio button" without knowing what they are answering. A legend "Newsletter" would be too vague; a complete question is the best approach here.
Tips and pitfalls
⚠️ Two identical legends in the same form
An order form with two address blocks fails if both <fieldset> elements carry the same legend "Your address". The legend must distinguish the groups from each other, not just name them. This is the most common error found in audits of online payment forms.
⚠️ Legend that describes structure rather than content
"Step 1", "Required section", "Required fields": these texts describe the form's progression or rules, not the nature of the data being requested. The legend must answer "what are we filling in?", not "where are we in the form?"
💡 The isolated reading test
To audit this criterion quickly, read only the legend without looking at the fields. You must understand what you will be asked to fill in. If you need to read the field labels to understand the group, the legend is not relevant.
⚠️ role="group" with aria-label: same rule as <fieldset>
A <div role="group" aria-label="Banking coordinates"> is evaluated by the same criteria as a <fieldset>. The relevance of the aria-label is judged on its text content: it must describe the nature of the group, not its position on the page or its technical status.
⚠️ Legend hidden visually: compliant for 11.7 if the text is relevant
A <legend> hidden by a sr-only class remains valid for criterion 11.7, which concerns the relevance of the text, not its visibility. However, be careful: criterion 11.6 verifies that the legend is properly rendered by assistive technologies, which includes specific rendering conditions.
Frequently asked questions
What is the difference between RGAA criterion 11.6 and criterion 11.7 regarding form field legend?
Criterion 11.6 verifies the existence of a legend on each grouping of fields of the same nature. Criterion 11.7 verifies the quality of that legend. A <fieldset> with <legend>Group</legend> satisfies 11.6 (the legend is present) but fails 11.7 (the text is not relevant). Both criteria are evaluated separately.
How do I audit RGAA criterion 11.7 on form field legend with a screen reader?
With NVDA, navigate in form mode (press F to activate, Tab to browse fields). When entering each group, NVDA announces the legend. Verify that this announcement allows you to understand the nature of the group without having to read all the fields. On VoiceOver (macOS), use the "Forms" rotor (Ctrl+Option+U) to list the groups with their legend.
How does an HTML title (<h2>, <h3>) placed before a <fieldset> differ from a <legend> according to RGAA?
No. An HTML title is not technically associated with the group: criterion 11.6 will fail first. To reuse an existing title, place aria-labelledby on the <fieldset> pointing to the title's id. The text of the title will then be evaluated for criterion 11.7 in this context.
How do I use aria-labelledby to associate a visible title with a form field group?
Yes, this is a recommended approach to avoid information duplication. If an <h2 id="address-title">Delivery address</h2> already describes the group, <fieldset aria-labelledby="address-title"> is compliant for 11.6 and 11.7, provided that the title text is relevant under criterion 11.7.