The following should fail the empty-heading rule, it is instead considered inapplicable because of role=none. However, role=none is in practice ignored because of the use of aria-label. As a global attribute, aria-label tells browsers to ignore role=none. This can be solved by updating the rules/heading-matches.js, replacing its custom role computation with the aria.getRole() commons method, which already account for presentational role conflict resolution.
<h1 aria-label="" role="none"></h1>
The following should fail the
empty-headingrule, it is instead considered inapplicable because of role=none. However, role=none is in practice ignored because of the use of aria-label. As a global attribute, aria-label tells browsers to ignore role=none. This can be solved by updating the rules/heading-matches.js, replacing its custom role computation with thearia.getRole()commons method, which already account for presentational role conflict resolution.