Skip to content

fix(ui): improve spin loading accessibility#32

Open
wyf027 wants to merge 1 commit into
mainfrom
codex/spin-status-busy-a11y-2026-07-05
Open

fix(ui): improve spin loading accessibility#32
wyf027 wants to merge 1 commit into
mainfrom
codex/spin-status-busy-a11y-2026-07-05

Conversation

@wyf027

@wyf027 wyf027 commented Jul 5, 2026

Copy link
Copy Markdown
Owner

Summary

  • expose Spin loading indicators as polite role="status" regions
  • hide the decorative spinner stroke from assistive technology
  • keep wrapped content synchronized with spinning through aria-busy
  • add Spin accessibility tests and update the VitePress API docs

Why

The existing Spin component visually indicated loading but did not expose status semantics to assistive technology. When Spin wrapped content, the covered region also did not announce that it was busy. Ant Design documents Spin as a loading state for a page or section, Element Plus Loading covers container loading masks, and MDN/W3C document status and aria-busy as the relevant non-interruptive loading semantics:

Validation

  • npm ci
  • npx prettier --write packages/ui/src/components/feedback/Spin/Spin.tsx packages/ui/src/components/feedback/Spin/Spin.test.tsx docs/components/spin.md
  • npm run lint:ui
  • npm run typecheck:ui
  • npm run test:ui (24 files, 74 tests)
  • npm run build:ui
  • npm run build
  • bash /Users/wuyangfan/.cursor/skills/git-commit/scripts/run-audit.sh (OVERALL_EXIT=0)

Existing non-blocking warnings observed:

  • npm ci reports 7 existing audit findings.
  • Vitest reports existing Vite/Babel deprecation warnings.
  • UI/docs builds report existing Browserslist/chunk-size warnings.

@ecc-tools

ecc-tools Bot commented Jul 5, 2026

Copy link
Copy Markdown
Contributor

ECC bundle files are already tracked in this repository. Skipping generation of another bundle PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant