I propose adding an implicitAria
property to all elements that exposes and allows modification of their implicit ARIA roles, states and properties, i.e. the values that are used when no HTML attributes are present to override them. "No role" manifests as null
in JavaScript.
In what follows, let el.[[role]]
and el.[[aria-expanded]]
and the like be a fictional syntax for getting the screen-reader exposed ARIA values for an element. We could consider, as a separate proposal, exposing an API for these.