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
This layer must handle internals' pre-resolved element arrays (proposal "Should handle" #5: an idrefs property is an array of resolved Elements, not a space-separated id string) and the empty-idref Firefox crash (#5139). Several commons/checks sub-issues (commons/aria, commons/text, checks/shared, checks/tables) call through these, so correct idref/array behavior here unblocks them — land it alongside the foundational commons work rather than at the end.
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/core/utils(idref resolution — independent & foundational; sequence early)Representative files/usages:
idrefsget-accessible-refsget-element-by-referenceget-node-attributeThis layer must handle internals' pre-resolved element arrays (proposal "Should handle" #5: an
idrefsproperty is an array of resolvedElements, not a space-separated id string) and the empty-idref Firefox crash (#5139). Several commons/checks sub-issues (commons/aria,commons/text,checks/shared,checks/tables) call through these, so correct idref/array behavior here unblocks them — land it alongside the foundational commons work rather than at the end.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)return resolved vNode arrays and filter out disconnected 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; ruleselectormatching; form-label work (#5045).Dependencies
Blocked by #5043; requires
getAriaValue/hasAriaValue(#5042).Acceptance criteria
elementInternals: false.elementInternals: true, including the empty-idref / disconnected-element cases (no Firefox crash per ElementInternals: accessing empty internals idrefs property crashes Firefox #5139).idref(s)conversions return resolved vNode arrays.