region-with-no-name
This fails the run. Where it is wrong about your code, // ramonda-check-ignore <reason> on the line says so, and the reason is printed on every run.
Reported when role="region" is written with no aria-label, aria-labelledby or title, so it is not a landmark at all.
region is the one landmark role the specification makes conditional on a name. Without
one it is not put in the landmark list, so it is not announced and cannot be jumped to —
the attribute does nothing at all, and the page looks exactly the same either way.
Name it:
<div role="region" aria-label="Search filters">…</div>
Where a visible heading already says what the section is, point at that instead and the two cannot drift apart:
<h2 id="filters-heading">Search filters</h2>
<div role="region" aria-labelledby="filters-heading">…</div>
Do not put the word "region" in the name — the kind is announced already, and
aria-label="Filters region" is read out as "Filters region region".
If the section is not important enough to navigate to, it does not need the role. A plain
<section> or <div> is the right element, and an unnamed <section> is not this report:
it maps to a generic box by design rather than by mistake.
Next
- All rules — the other checks this one runs beside.
- Checking your app — how to run it, and what it proves.