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
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/checks/sharedRepresentative files/usages:
aria-hidden-body(aria-hidden)help-same-as-label(aria-describedby)title-only(aria-describedby)attr-non-space-content(vNode.attr(options.attribute))presentational-role(hasAttr(attr))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.