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
Part of #5044 — incremental, per-subdirectory conversion of ARIA-attribute reads to the new internals-aware resolvers.
Scope: lib/checks/tables
Representative files/usages:
th-has-data-cells (aria-labelledby)
td-headers-attr
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.
Blocked by #5043; requires getAriaValue/hasAriaValue (#5042). The aria-labelledby idref handling here leans on the lib/core/utils idref sub-issue — prefer landing after it.
Acceptance criteria
Existing suite green with elementInternals: false.
New internals fixtures pass with elementInternals: true.
Messages updated where they name an attribute/role.
Part of #5044 — incremental, per-subdirectory conversion of ARIA-attribute reads to the new internals-aware resolvers.
Scope:
lib/checks/tablesRepresentative files/usages:
th-has-data-cells(aria-labelledby)td-headers-attrConversion 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). Thearia-labelledbyidref handling here leans on thelib/core/utilsidref sub-issue — prefer landing after it.Acceptance criteria
elementInternals: false.elementInternals: true.