unknown-role
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 a role names nothing, or names an abstract role that markup may not use.
A role the accessibility tree does not recognise is not a weaker role — it is none. The
browser keeps the attribute, nothing reads it, and the element keeps whatever semantics its
tag already had.
An ABSTRACT role is a different mistake: widget, composite, landmark, section and the
rest are there to organise the vocabulary, and the specification says they are not permitted
in content. Pick the concrete role underneath the one you found.
Before reaching for role at all, check whether a tag already says it. <nav> is
role="navigation" and <button> is role="button", and the tag brings behaviour the
attribute does not.
A role this cannot read — role={kind} — is never reported.
Next
- All rules — the other checks this one runs beside.
- Checking your app — how to run it, and what it proves.