Skip to content

fix(ui): preserve Astryx List accessible names - #2225

Merged
Astro-Han merged 1 commit into
apache:mainfrom
me2seeks:fix/2189-astryx-list-aria-label
Aug 5, 2026
Merged

fix(ui): preserve Astryx List accessible names#2225
Astro-Han merged 1 commit into
apache:mainfrom
me2seeks:fix/2189-astryx-list-aria-label

Conversation

@me2seeks

@me2seeks me2seeks commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

Closes #2189

Summary

  • fix the patched Astryx List seam so aria-label is forwarded to the root ul/ol
  • preserve the existing aria-labelledby behavior for headered lists
  • add a regression test for runtime accessible-name rendering
  • update patch docs to reflect the additional seam expectation

Why

@astryxdesign/core List accepts aria-label by type, but at runtime it was dropped, leaving several desktop lists without accessible names.

Validation

  • Added focused regression coverage in UI tests
  • Rebuilt and validated patch application workflow with existing Astryx patch docs
  • No visible UI/API surface change except accessible-name output

Impact

  • Accessibility improves for 6 existing list call sites in Desktop
  • No layout/behavior change for sighted users
中文

关闭 #2189

概要

  • 修复 Astryx List 的补丁缝,使 aria-label 能正确透传到根 ul/ol
  • 保持已有 header 时的 aria-labelledby 行为不变
  • 补充运行时可访问名称回归测试
  • 补充 patches/README.md 中的说明

原因

@astryxdesign/coreList 类型层支持 aria-label,但运行时未转发,导致桌面端 6 个列表在无障碍里没有可访问名称。

验证

  • 新增专项回归测试
  • 已保持现有 Astryx 补丁应用链路与文档一致
  • 除了可访问性属性外,不改变页面可视化行为

影响

  • 提升桌面端 6 处列表的可访问性
  • 对可见 UI 无影响

@Astro-Han

Copy link
Copy Markdown
Contributor

Thanks for this — the patch is minimal and correctly targeted, and I verified it end to end: git apply --check passes against a pristine @astryxdesign/core@0.2.0, the two added lines close exactly the runtime gap (aria-label was already in the accepted type but silently dropped by the fixed-props destructuring), and aria-label={undefined} renders no attribute at all, so no stray empty label appears. The test is a genuine guard: it fails both ways against the unpatched package and passes with the patch, and the useId value is captured rather than hard-coded, so it's deterministic.

Two non-blocking notes:

  • patches/README.md now has a second append point shared with fix(desktop): clear "New messages" indicator at bottom and per conversation (#2205) #2211 (both PRs insert after the same final line). The patch file itself auto-merges cleanly; whichever PR merges second just needs to resolve the README conflict by keeping both sections. Worth a heads-up to each other or a one-line "merge order" note.
  • Cosmetic: the test file says npm --workspace @maka/ui test while the README section says npm --workspace @maka/ui run test — both work, but one spelling would be nicer.

Nothing blocking — happy to approve.

@Astro-Han
Astro-Han merged commit 6a43035 into apache:main Aug 5, 2026
12 checks passed
cat0825 added a commit to cat0825/maka-agent that referenced this pull request Aug 5, 2026
Resolve patches/README.md conflict by keeping both sections:
- our apache#2205 "New messages" indicator section
- upstream apache#2225 Astryx List accessible-name section

Verified the merged @astryxdesign/core patch still applies cleanly
via patch-package --error-on-fail.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

fix(ui): Astryx List silently drops aria-label, leaving six lists unnamed

2 participants