Infrastructure: Complete portable Storybook accessibility coverage and reporting
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 35/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- typescript
- Domain
- accessibility, testing-qa
Research direction
Start with the native assertion/test integration reference and packages/agentic/storybook-desktop/src/testing/runWdioTests.ts, then review packages/agentic/components/WIN32-FOCUS-PLAN.md and the linked prerequisite work. Run the existing WDIO cohort to understand its current cases and result data. Done means the documented cohort has deterministic native accessibility assertions, authoritative endpoint results, versioned reports, compatibility tests, documentation, and explicit exclusions or diagnostics.
Written by the indexing model from the issue text.
Description
Goal
Complete the portable native accessibility cohort, qualification, and reporting above the assertion foundation delivered by #4255. Parent: #4275.
Status - 2026-10-01
Open; assertion support and a broader behavioral suite are implemented, full conformance is not.
Native providers normalize role/name/state/text/value; catalog tests now use top-level named WDIO callbacks, not the obsolete parameters.desktopTest proposal. Merged PRs #4306, #4313, and #4314 provide real native role/state/focus and interaction assertions.
Current main discovers 29 cases across 17 stories and ten component/primitive families on each endpoint. That is not 29 accessibility-conformance cases: some test motion/layout, many require unavailable hosted input, and Radio/Tag/Accordion/standalone Tab plus the negative Divider case are not a complete authored accessibility cohort.
The active WDIO run.json contains per-case status/error/skip data, but no dedicated role/name/reachability counters or observed-primary-element summary.
Remaining scope and acceptance criteria
- Complete the initial Button, Checkbox, Radio, Switch, Tag, Tab, and Accordion cohort, plus Divider or another documented noninteractive negative fixture.
- Each applicable case asserts a deterministic accessible name, normalized role, relevant native state/value, and positive or negative keyboard reachability.
- Reachability proves bounded real Tab navigation where required; an enabled flag, programmatic focus, or component-owned state is not substituted for actual keyboard/native accessibility evidence.
- Test both label-prop names and deterministic visible-label fallback; intentional name/role mismatches fail clearly in portable contract tests.
- Verify and document the Switch role mapping against the actual native Windows/Win32/macOS control representations. Keep normalization in the provider boundary rather than platform-native literals in shared assertions.
- Add versioned accessibility reporting with passed/failed/skipped role/name/reachability counts, observed native attributes, and actionable unsupported-state diagnostics.
- Run the complete cohort on authoritative interactive Windows and managed macOS endpoints, publishing exact runtime/helper/manifest identities and results. Qualify Win32 separately where its provider/control behavior differs.
- Resolve or explicitly track native disabled/selected/enabled-state projection gaps; behavioral callbacks and focus exclusion must not be claimed as AX/UIA state passes.
- Required coverage excludes quarantine and capability skips. Preserve explicit reasoned exclusions until the native catalog crashes are fixed.
- Public type/report changes have compatibility tests, documentation, appropriate changesets, and the owning package/root validation.
Scope boundary
This issue owns native-tree assertions, their cohort, and reports. Component prop-propagation/unit coverage and the package-wide conformance registry remain with #4216/#4214. Manual VoiceOver/NVDA validation is separate; do not claim it from UIA/AX assertions.
Evidence
- Native assertion/test integration
- Current WDIO result implementation
- Merged focus and accessibility evidence/limits
- Focus qualification and renderer gaps
- Delivered milestone: #4255. Coordinate #4349 for authoritative required CI, #4346 for native state projection, #4344 for catalog crashes, and #4347 for historical focus parity.
- Dominant language
- TypeScript
- Stars
- 1.4k
- Forks
- 179
- Avg merge
- 2d 9h
- Merged PRs (30d)
- 30
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from microsoft/fluentui-react-native
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
microsoft/fluentui-react-native#4174 ·
Maintainers usually reply within 1 day
-
Difficulty 5/5 Over a week Newbie friendliness 25/100
microsoft/fluentui-react-native#4344 ·
Maintainers usually reply within 1 day
-
Difficulty 5/5 Over a week Newbie friendliness 20/100
microsoft/fluentui-react-native#4345 ·
Maintainers usually reply within 1 day
-
Difficulty 5/5 Over a week Newbie friendliness 30/100
microsoft/fluentui-react-native#4346 ·
Maintainers usually reply within 1 day
-
Difficulty 5/5 Over a week Newbie friendliness 25/100
microsoft/fluentui-react-native#4347 ·
Maintainers usually reply within 1 day
All issues in microsoft/fluentui-react-native
Similar issues
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
Small-tailqwq/dsh-deep-whale#187 ·
Maintainers usually reply within 1 day
-
Tela Marca manda conferir o campo "Razão social", que em Portugal se chama "Denominação social"Open
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
melgarafael/DeskcommCRM#2503 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
0x80/isolate-package#218 ·
-
bug via-triage
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
pingdotgg/t3code#16859 · 1 comment ·
Maintainers usually reply within 1 day
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
Maintainers usually reply within 1 day