`aria-*` boolean attributes serialize as the empty string
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 45/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- ruby
- Lĩnh vực
- accessibility
Hướng nghiên cứu
Đọc design/v2/follow-up-issues.md và kiểm tra đường dẫn tuần tự hóa của Base cho các thuộc tính aria trên dòng 2.0. Chạy golden HTML suite và xem xét các snapshot bị ảnh hưởng của catalog và component, bao gồm các dấu phân cách breadcrumb, ellipsis, CommandInput và các SVG trang trí. Công việc được hoàn tất khi các boolean aria được render thành "true" hoặc "false" theo quyết định, các snapshot 2.0 đã được ghi lại và diff của chúng đã được xem xét.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
- Where: the components that pass a boolean under the
ariahash:
aria: {hidden: true}inBreadcrumbSeparator,BreadcrumbEllipsisand
PaginationEllipsis(also reached throughDataTablePagination),
aria: {disabled: true}inBreadcrumbPage,aria_expanded: truein
CommandInput. The breadcrumb, pagination, data_table and command
snapshots carryaria-hidden="",aria-disabled=""oraria-expanded="".
Components that pass the String"true"—InputOtpSlot,
NativeSelectIcon,AlertDialogContent— already serialize correctly and
are not affected. - Effect: the ARIA value grammar accepts
true/false/undefined; an
empty string is invalid and browsers resolve it as not set. The breadcrumb
and pagination separators and ellipses 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
trueunder a nested hash (a bare attribute), so any component that passes
a boolean there is affected — five today. - 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.
- Ngôn ngữ chính
- Ruby
- Star
- 1k
- Fork
- 67
- Merge trung bình
- 2 ngày 19 giờ
- Pull request đã merge (30 ngày)
- 18
Hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của ruby-ui/ruby_ui
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 55/100
-
bug
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 35/100
Tất cả issue của ruby-ui/ruby_ui
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
palladius/rails8-app-on-gcp#145 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
rubocop/rubocop-rspec#2236 ·
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
riscv/riscv-unified-db#2624 · 1 reaction ·
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 88/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100