Fix: Screen Reader: Many Pages: There is no dialog role and title announced #96892
Fix: Screen Reader: Many Pages: There is no dialog role and title announced #96892Krishna2323 wants to merge 5 commits into
Conversation
Signed-off-by: krishna2323 <belivethatkg@gmail.com>
Signed-off-by: krishna2323 <belivethatkg@gmail.com>
|
Hey, I noticed you changed If you want to automatically generate translations for other locales, an Expensify employee will have to:
Alternatively, if you are an external contributor, you can run the translation script locally with your own OpenAI API key. To learn more, try running: npx ts-node ./scripts/generateTranslations.ts --helpTypically, you'd want to translate only what you changed by running |
Codecov Report❌ Looks like you've decreased code coverage for some files. Please write tests to increase, or at least maintain, the existing level of code coverage. See our documentation here for how to interpret this table.
|
|
@codex review |
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
|
@MelvinBot review |
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: e57a11c64a
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
|
🤖 Reviewed the changes — this is a well-crafted, focused accessibility fix. The move from imperative A few things worth confirming before merge — none are blockers, but two are genuine cross-cutting behavior changes that reach beyond the JAWS-on-web path this PR targets. 1. Focus is now stolen into every wide RHP regardless of input modality
2. Web dedup logic change affects 4 other callers
3.
|
Signed-off-by: krishna2323 <belivethatkg@gmail.com>
|
@mkhutornyi Please copy/paste the Reviewer Checklist from here into a new comment on this PR and complete it. If you have the K2 extension, you can simply click: [this button] |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 308517ba3a
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Signed-off-by: krishna2323 <belivethatkg@gmail.com>
Signed-off-by: krishna2323 <belivethatkg@gmail.com>
|
@mkhutornyi ready for review |
|
🚧 amyevans has triggered a test Expensify/App build. You can view the workflow run here. |
|
🧪🧪 Use the links below to test this adhoc build on Android, iOS, and Web. Happy testing! 🧪🧪
|
|
JAWS or NVDA both work well |
Reviewer Checklist
Screenshots/VideosAndroid: HybridAppAndroid: mWeb ChromeiOS: HybridAppiOS: mWeb SafariMacOS: Chrome / Safaridemo.mp4 |
|
🤖 Re-reviewed the current diff (the earlier One concrete thing to confirm, plus two cross-cutting behavior changes that reach beyond the JAWS-on-web path this targets. 1.
|
|
Codex Review: Didn't find any major issues. More of your lovely PRs please. Reviewed commit: ℹ️ About Codex in GitHubCodex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback". |
|
🤖 Regression sweep — overall low risk. I traced the three behavior changes with the widest blast radius (the focus-steal, the announcement dedup rewrite, and the focus-claim interactions) against the rest of the codebase. Most of what looks risky is actually guarded. Two things are worth a manual confirm; everything else I was able to rule out with code evidence. Worth confirming (real behavior changes)1. Transient focus-flash on a mouse-opened wide RHP that autofocuses its own input. The steal now fires for mouse users too (the 2. Titleless wide RHPs no longer claim focus after the transition. Ruled out (verified NOT regressions)Evidence for the checks that came back clean
The one residual unknown is purely theoretical: a wide RHP that focuses an input via a raw This is an automated review. Reply with |
|
Bug: (screen reader not enabled) Enter key closes RHP
bug.movRHP back button should be auto-focused only when this page is opened using keyboard Space or Enter See production behavior: production.mov |
Explanation of Change
Fixed Issues
$ #76944
PROPOSAL:
Tests
Setup
Primary flow (issue repro)
/settings/about).Pass
Fail
Quick extras
Offline tests
QA Steps
Same as tests
Verify that no errors appear in the JS console
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectioncanBeMissingparam foruseOnyxtoggleReportand notonIconClick)src/languages/*files and using the translation methodSTYLE.md) were followedAvatar, I verified the components usingAvatarare working as expected)StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))npm run compress-svg)Avataris modified, I verified thatAvataris working as expected in all cases)Designlabel and/or tagged@Expensify/designso the design team can review the changes.ScrollViewcomponent to make it scrollable when more elements are added to the page.mainbranch was merged into this PR after a review, I tested again and verified the outcome was still expected according to theTeststeps.Screenshots/Videos
Android: Native
android_hybrid.mp4
Android: mWeb Chrome
iOS: Native
ios_hybrid.mp4
iOS: mWeb Safari
MacOS: Chrome / Safari
web_chrome_jaws.mp4
web_chrome_nvda.mp4
web_chrome_voiceover.mp4