You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Tighten so internals-driven ARIA values are visible to matchers without rewriting selector semantics (that is a future proposal).
Conversion pattern (shared by every #5044 sub-issue)
Replace ARIA-attribute reads — vNode.attr('aria-*') / vNode.hasAttr('aria-*'), incl. variable-attr forms — with getAriaValue / hasAriaValue, only where reading an internals-supplied value makes sense.
Part of #5044 — incremental, per-subdirectory conversion of ARIA-attribute reads to the new internals-aware resolvers.
Scope:
lib/commons/matches+lib/commons/standards(generic attribute matching)Representative files/usages:
matches/attributes(vNode.attr(attrName))matches/from-functionget-element-by-referenceTighten so internals-driven ARIA values are visible to matchers without rewriting
selectorsemantics (that is a future proposal).Conversion pattern (shared by every #5044 sub-issue)
vNode.attr('aria-*')/vNode.hasAttr('aria-*'), incl. variable-attr forms — withgetAriaValue/hasAriaValue, only where reading an internals-supplied value makes sense.idref(s)); filter unattached elements (see ElementInternals: accessing empty internals idrefs property crashes Firefox #5139).ElementInternalstest fixtures (_internalsandaxeInternalsMap) mirroring existing virtual-node tests.Out of scope
role-attribute reads (#5039); validity checks (aria-valid-attr,aria-valid-attr-value,aria-unsupported-attr); ruleselectormatching; form-label work (#5045).Dependencies
Blocked by #5043; requires
getAriaValue/hasAriaValue(#5042). Prefer landing after thelib/commons/ariasub-issue.Acceptance criteria
elementInternals: false.elementInternals: true.