Several close buttons in the web UI have no accessible name, so a screen reader announces just "button".
Where - an <IconButton> wrapping <CloseIcon> with no aria-label (and no Tooltip):
website/src/NewSheet.jsx, website/src/HubView.jsx
website/src/FeedView.jsx (four)
website/src/TasksView.jsx (five)
website/src/AssistantView.jsx (one)
grep -n "CloseIcon" website/src/*.jsx finds them.
Done when each has aria-label="Close" (or a more specific label where it helps, e.g. "Close the task").
Test - a source-scan test in website/test/ (the read() pattern in website/test/connectorCatalog.test.mjs) that fails if any <IconButton containing CloseIcon lacks an aria-label. Then cd website && npm run build and commit the rebuilt taskuary/web/ - CI checks it matches the source.
Getting started: pip install -e ".[dev]", then python -m pytest -q (offline, a few seconds). UI work: cd website && npm ci && npm test. See CONTRIBUTING.md. One small PR with the change and its test is perfect.
Several close buttons in the web UI have no accessible name, so a screen reader announces just "button".
Where - an
<IconButton>wrapping<CloseIcon>with noaria-label(and no Tooltip):website/src/NewSheet.jsx,website/src/HubView.jsxwebsite/src/FeedView.jsx(four)website/src/TasksView.jsx(five)website/src/AssistantView.jsx(one)grep -n "CloseIcon" website/src/*.jsxfinds them.Done when each has
aria-label="Close"(or a more specific label where it helps, e.g."Close the task").Test - a source-scan test in
website/test/(theread()pattern inwebsite/test/connectorCatalog.test.mjs) that fails if any<IconButtoncontainingCloseIconlacks anaria-label. Thencd website && npm run buildand commit the rebuilttaskuary/web/- CI checks it matches the source.Getting started:
pip install -e ".[dev]", thenpython -m pytest -q(offline, a few seconds). UI work:cd website && npm ci && npm test. See CONTRIBUTING.md. One small PR with the change and its test is perfect.