Problem
src/screens/ConnectScreen.tsx and src/components/TopBar.tsx both render error messages in a <p> tag without role="alert". When an error occurs (e.g., wallet connect failure), the error text updates in the DOM, but screen readers will not automatically announce the new content because there is no live region.
A second related problem: src/components/NetworkBanner.tsx renders a colored banner that changes when the network switches, but has no role="status" or aria-live attribute, so the change goes unannounced.
Both of these are silent for assistive technology users — they would see no visual change (on screen readers) and receive no notification that something important happened.
Solution
- Add
role="alert" to error <p> elements in ConnectScreen.tsx and TopBar.tsx. This implicitly sets aria-live="assertive".
- Add
role="status" and aria-live="polite" to the NetworkBanner container so network switches are announced without interrupting the user.
Acceptance Criteria
Note for Contributors: If you are assigned to this issue, write a clear and detailed description for your pull request. Explain what was changed, why it was needed, how it was implemented, and include any relevant testing or screenshots where applicable.
Problem
src/screens/ConnectScreen.tsxandsrc/components/TopBar.tsxboth render error messages in a<p>tag withoutrole="alert". When an error occurs (e.g., wallet connect failure), the error text updates in the DOM, but screen readers will not automatically announce the new content because there is no live region.A second related problem:
src/components/NetworkBanner.tsxrenders a colored banner that changes when the network switches, but has norole="status"oraria-liveattribute, so the change goes unannounced.Both of these are silent for assistive technology users — they would see no visual change (on screen readers) and receive no notification that something important happened.
Solution
role="alert"to error<p>elements inConnectScreen.tsxandTopBar.tsx. This implicitly setsaria-live="assertive".role="status"andaria-live="polite"to theNetworkBannercontainer so network switches are announced without interrupting the user.Acceptance Criteria
ConnectScreen.tsxhasrole="alert"TopBar.tsxhasrole="alert"NetworkBanner.tsxcontainer hasrole="status"andaria-live="polite"