Copilot commented on code in PR #38342:
URL: https://github.com/apache/superset/pull/38342#discussion_r2885564171
##########
superset-frontend/docs/cross-browser-test-matrix.md:
##########
@@ -0,0 +1,280 @@
+# Apache Superset -- Cross-Browser Accessibility Test Matrix
+
+## Testumgebung
+
+| Feld | Wert |
+|------|------|
+| Superset-Version | Branch `fix/a11y-improvements-v3` |
+| Datum | ___________ |
+| Tester | ___________ |
+| Auftraggeber | ___________ |
+
+### Browser-Versionen
+
+| Browser | Mindestversion | Getestete Version | Plattform |
+|---------|----------------|-------------------|-----------|
+| Google Chrome | 120+ | ___________ | Windows / macOS |
+| Mozilla Firefox | 120+ | ___________ | Windows / macOS |
+| Apple Safari | 17+ | ___________ | macOS |
+| Microsoft Edge | 120+ | ___________ | Windows |
+
+## Legende
+
+| Symbol | Bedeutung |
+|--------|-----------|
+| P | Bestanden (Pass) |
+| F | Nicht bestanden (Fail) |
+| N/A | Nicht anwendbar |
+| -- | Nicht getestet |
+
+---
+
+## Kategorie A: ARIA-Attribute
+
+Prueft die korrekte Interpretation und Darstellung von ARIA-Attributen in
allen Browsern.
+
+| Nr | Test | Beschreibung | Chrome | Firefox | Safari | Edge | Anmerkung |
+|----|------|--------------|--------|---------|--------|------|-----------|
+| A1 | aria-label auf Buttons | Toolbar-Buttons (Bearbeiten, Speichern,
Aktualisieren) haben lesbares `aria-label` | | | | | |
+| A2 | aria-expanded auf Dropdowns | Filter-Bar und Navigations-Dropdowns
melden korrekten Expand/Collapse-Zustand | | | | | |
+| A3 | aria-pressed auf Toggles | Toggle-Buttons (z.B. Favorit, Aktiv/Inaktiv)
melden korrekten Zustand | | | | | |
+| A4 | role="alert" bei Fehlern | Fehlermeldungen in Login, SQL Lab,
Database-Modal werden als Live-Region angekuendigt | | | | | |
+| A5 | aria-invalid auf Feldern | Formularfelder mit Validierungsfehler setzen
`aria-invalid="true"` | | | | | |
+| A6 | aria-describedby fuer Fehler | Fehlerhafte Felder referenzieren ihre
Fehlermeldung via `aria-describedby` | | | | | |
Review Comment:
These new frontend docs are written primarily in German. The existing
Superset frontend documentation is generally maintained in English; adding
non-English docs makes it harder for the wider contributor base to review and
maintain. Consider translating to English (or moving to an internal/private
location if they’re not intended for upstream).
```suggestion
## Test environment
| Field | Value |
|------|-------|
| Superset version | Branch `fix/a11y-improvements-v3` |
| Date | ___________ |
| Tester | ___________ |
| Requester | ___________ |
### Browser versions
| Browser | Minimum version | Tested version | Platform |
|---------|-----------------|----------------|----------|
| Google Chrome | 120+ | ___________ | Windows / macOS |
| Mozilla Firefox | 120+ | ___________ | Windows / macOS |
| Apple Safari | 17+ | ___________ | macOS |
| Microsoft Edge | 120+ | ___________ | Windows |
## Legend
| Symbol | Meaning |
|--------|---------|
| P | Passed |
| F | Failed |
| N/A | Not applicable |
| -- | Not tested |
---
## Category A: ARIA attributes
Verifies the correct interpretation and presentation of ARIA attributes in
all browsers.
| No | Test | Description | Chrome | Firefox | Safari | Edge | Notes |
|----|------|-------------|--------|---------|--------|------|-------|
| A1 | aria-label on buttons | Toolbar buttons (Edit, Save, Refresh) have a
readable `aria-label` | | | | | |
| A2 | aria-expanded on dropdowns | Filter bar and navigation dropdowns
report the correct expanded/collapsed state | | | | | |
| A3 | aria-pressed on toggles | Toggle buttons (e.g. Favorite,
Active/Inactive) report the correct state | | | | | |
| A4 | role="alert" for errors | Error messages in Login, SQL Lab, and
Database modal are announced as a live region | | | | | |
| A5 | aria-invalid on fields | Form fields with validation errors set
`aria-invalid="true"` | | | | | |
| A6 | aria-describedby for errors | Fields with errors reference their
error message via `aria-describedby` | | | | | |
```
##########
superset-frontend/packages/superset-ui-core/src/components/Dropdown/index.tsx:
##########
@@ -90,7 +90,12 @@ export const MenuDotsDropdown = ({
...rest
}: MenuDotsDropdownProps) => (
<AntdDropdown popupRender={() => overlay} {...rest}>
- <MenuDotsWrapper data-test="dropdown-trigger">
+ <MenuDotsWrapper
+ data-test="dropdown-trigger"
+ role="button"
+ tabIndex={0}
+ aria-label="More actions"
Review Comment:
`MenuDotsWrapper` is given `role="button"` and `tabIndex={0}`, but there is
no keyboard handler. As-is, Enter/Space won’t open the dropdown for keyboard
users. Add an `onKeyDown` handler (Enter/Space) that triggers the same behavior
as click (or switch to a real `<button>` element).
```suggestion
aria-label="More actions"
onKeyDown={event => {
if (event.key === 'Enter' || event.key === ' ') {
event.preventDefault();
event.currentTarget.click();
}
}}
```
--
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]