`aria-*` boolean attributes serialize as the empty string
Personne n'a encore pris cette issue.
- Langage dominant
- Ruby
- Étoiles
- 1k
- Forks
- 67
- Merge moyen
- 3 j 12 h
- PR mergées (30 j)
- 14
Description
- Where: every
aria: {hidden: true},aria_disabled: true,
aria_expanded: truein the catalog — breadcrumb separators and ellipsis,
CommandInput, and every decorative<svg aria-hidden>. Snapshots carry
aria-hidden="",aria-disabled="",aria-expanded="". - Effect: the ARIA value grammar accepts
true/false/undefined; an
empty string is invalid and browsers resolve it as not set. Decorative
icons are therefore exposed to assistive technology, "current" breadcrumb
items are not announced as disabled, and the command input's expanded
state is unset. This is Phlex's serialization oftrue(a bare
attribute), so it is library-wide, not one component. - Fix: pass
"true"(a String) foraria-*attributes, or add a
serialization rule inBasethat stringifies booleans under thearia
key; re-record (on the 2.0 line) everything that changes and review the diff. - 2.0 note: spec §4.3 currently preserves this behaviour for parity
(true→""). The right 2.0 behaviour isaria-x="true"; decide it
explicitly and let the re-record (on the 2.0 line) show the blast radius.
Surfaced by the golden HTML suite (PR #536), which pins what 1.6 renders today — this defect included. Per maintainer decision (2026-09-19) main stays as is: this is addressed on the 2.0 line, and the golden snapshot that pins it is re-recorded there with the diff reviewed.
Source: design/v2/follow-up-issues.md.
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Lisez design/v2/follow-up-issues.md et inspectez le chemin de sérialisation de Base pour les attributs aria sur la branche 2.0. Exécutez la golden HTML suite et examinez les snapshots concernés du catalogue et des composants, notamment les séparateurs de breadcrumb, les points de suspension, CommandInput et les SVG décoratifs. C’est terminé lorsque les booléens aria sont rendus sous la forme "true" ou "false", comme décidé, que les snapshots 2.0 ont été réenregistrés et que leur diff a été examiné.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- ruby
- Domaine
- accessibility
- Type d'issue
- Bug
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- Active
- Clarté
- Plutôt claire
- Accessibilité débutants
- 45/100