Rule idea: explicit role is not same as implicit
While working on #2084, I found this bit of ARIA in HTML:
Conformance checkers SHOULD flag instances where authors are explicitly providing an element with a role which matches its implicit ARIA semantics as failures, as it is NOT RECOMMENDED for authors to explicitly set these roles.
From this, it feels like it would make sense to have a rule checking that, since tools are expected to fail it. OTOH, this rule would only be a best practice, not even mapping to ARIA in HTML, since this is allowed but not recommended 🤔 We're not really having any of these currently…
So, should we have a rule to check that the explicit role is not the same as the implicit role?
The W3 validator currently flags this. One problem area is tables where you sometimes need an explicit role=table to override layout table heuristics which act like an implicit role=presentation on some tables: https://www.powermapper.com/blog/layout-tables-vs-data-tables/
There's an issue on html-aam for the role=table problem: https://github.com/w3c/html-aam/issues/293
Edit: it's worth finding out why this is NOT RECOMMENDED - I think it caused problems in some browser a11y tree implementations.