Aitema-gmbh opened a new pull request, #38342:
URL: https://github.com/apache/superset/pull/38342

   ## Summary
   
   This PR introduces accessibility improvements to Apache Superset for WCAG 
2.1 Level A compliance. It supersedes #37211 with a clean rebase on current 
`master` and addresses all review feedback from the previous PR.
   
   ### New Accessibility Components
   
   - **`SkipLink`**: Skip-to-content navigation for keyboard users (WCAG 2.4.1 
Bypass Blocks)
     - Visually hidden, appears on focus
     - Temporary `tabindex` management — sets `-1` only during focus, removes 
on blur to preserve natural tab order
     - Fallback to hash navigation if target element not found
   
   - **`StatusAnnouncer`**: ARIA live region for screen reader announcements 
(WCAG 4.1.2 Name, Role, Value)
     - Context-based provider pattern with `useStatusAnnouncer` hook
     - Supports `polite` and `assertive` politeness levels
     - Auto-clears messages after 5 seconds
   
   ### Enhanced Semantic Structure
   
   - **`SliceHeader`**: Added semantic `<h2>` headings for chart titles (WCAG 
1.3.1 Info and Relationships)
     - Heading inherits all visual styles — zero visual change
     - Minimal diff: only wrapping element + CSS reset added
   
   ### Changes from previous PR #37211
   
   - Rebased on current `master` (fixes stale import paths)
   - Uses `@apache-superset/core/ui` and `@superset-ui/core/components` import 
structure
   - Fixed SkipLink `tabindex` bug — now temporary instead of permanent 
(addresses Bito, CodeAnt, Copilot feedback)
   - No longer modifies `ActionButtons` — upstream already has correct 
keyboard/filter logic
   - Removed Storybook stories to keep PR focused (can be added separately)
   
   ### WCAG Criteria Addressed
   
   | Criterion | Level | Implementation |
   |-----------|-------|----------------|
   | 1.3.1 Info and Relationships | A | Semantic `<h2>` headings for chart 
titles |
   | 2.1.1 Keyboard | A | SkipLink keyboard navigation |
   | 2.4.1 Bypass Blocks | A | Skip-to-content link |
   | 4.1.2 Name, Role, Value | A | ARIA live regions via StatusAnnouncer |
   
   ### Testing Instructions
   
   1. **Skip Link**: Press Tab on page load — skip link should appear, pressing 
Enter jumps to main content
   2. **Keyboard Navigation**: Tab through dashboard — chart titles are 
announced as headings by screen readers
   3. **Screen Reader**: Verify `<h2>` chart titles are properly announced with 
heading level
   
   ### Checklist
   
   - [x] Unit tests added (SkipLink + StatusAnnouncer)
   - [x] Follows existing code style and import conventions
   - [x] No TypeScript errors
   - [x] No breaking changes
   - [x] Addresses all bot review feedback from PR #37211
   - [x] Clean rebase on current master


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to