ruby-ui / ruby-ui/ruby_ui

`aria-*` boolean attributes serialize as the empty string

Abierto
#538 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

bug
Lenguaje dominante
Ruby
Estrellas
1k
Forks
67
Merge medio
3 d 12 h
PR fusionados (30 d)
14

Descripción

  • Where: every aria: {hidden: true}, aria_disabled: true,
    aria_expanded: true in 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 of true (a bare
    attribute), so it is library-wide, not one component.
  • Fix: pass "true" (a String) for aria-* attributes, or add a
    serialization rule in Base that stringifies booleans under the aria
    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 is aria-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.

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

Lee design/v2/follow-up-issues.md e inspecciona la ruta de serialización de Base para los atributos aria en la línea 2.0. Ejecuta la golden HTML suite y revisa los snapshots afectados del catálogo y de los componentes, incluidos los separadores de breadcrumb, la elipsis, CommandInput y los SVG decorativos. Se considera completado cuando los booleanos aria se rendericen como "true" o "false", según lo decidido, los snapshots de 2.0 se hayan vuelto a grabar y se haya revisado su diff.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
ruby
Área
accessibility
Tipo de issue
Error
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Activo
Claridad
Bastante claro
Aptitud para principiantes
45/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.