-
Notifications
You must be signed in to change notification settings - Fork 3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
makes the PDF container focusable to provide accessibility #12391
makes the PDF container focusable to provide accessibility #12391
Conversation
@mollfpr
|
|
|
@neil-marcellini |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@neil-marcellini
Just waiting for @mollfpr to update the test steps & clarification on the above bug!
@Santhosh-Sellavel updated testing step! How do you repro the bug? it’s not happen to me |
Screen.Recording.2022-11-07.at.6.21.22.AM.mov |
As this is not introduced here, I reported it in slack here |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Recordings: #12391 (comment)
Checklist: #12391 (comment)
C+ Reviewed
🎀 👀 🎀
Looks good, tests well!
All you @neil-marcellini
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Test on Web/Desktop
- Open New Expensify App & login(if not already)
- Login with an Expensify account
- Select any user
- Click the plus button to the left of the message input, and select "Add attachment"
- Select a password-protected PDF
- Verify that the password form appears
- Enter the password and Click Confirm
- Click on the PDF document and use the up and down keys for scrolling
- Verify the scroll is working with the arrow key
I will approve this PR once we update these test steps. The problem is that the tests pass on staging already. See the video below.
password-pdf-staging.mov
In the video posted in the issue description we can see that at step 7 the user types the password and then hits the Enter key. In the next step they expect the up and down arrow keys to scroll the document. I don't think that's actually a problem, but it's also not what you described with these test steps.
Sorry for the confusion. I think these are the test / QA steps that should actually be used, since we agreed that this is the real issue here. @Santhosh-Sellavel unfortunately I think you will also have to test on all platforms again.
- Sign into NewDot with any account
- Select a chat with any user
- Click the plus button to the left of the message input, and select "Add attachment"
- Select a PDF
- Click send
- After the PDF uploads, click to open it
- Close it (notice that
tabIndex=-1
on the body html element) - Click the plus button to the left of the message input, and select "Add attachment"
- Select a PDF
- Click on it
- Click the down arrow key to scroll the PDF down, verify that it scrolls down
- Click the up arrow key to scroll the PDF up, verify that it scrolls up
@neil-marcellini Web/Desktop alone will have to be enough! |
Thanks @neil-marcellini for the correction, now the test steps is updated. |
@Santhosh-Sellavel can you test today please? |
Yeah, will be testing it shortly! |
@neil-marcellini this is the recording. the selection outline is not visible clearly on top or bottom while scrolling through pages, only visible when we reach the end at the top/bottom! WebScreen.Recording.2022-11-10.at.6.02.01.AM.movDesktopDesktop.mov |
? [styles.PDFView, styles.noSelect, this.props.style, styles.invisible] | ||
: [styles.PDFView, styles.noSelect, this.props.style]; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@Santhosh-Sellavel There should be no outline showing when the div is focused. I can't reproduce that outline and neither your first video test.
I'll test now myself. |
@Santhosh-Sellavel you must have had some kind of glitch when testing this branch. It works fine for me! Web web.movDesktop desktop.mov |
@neil-marcellini looks like this was merged without the checklist test passing. Please add a note explaining why this was done and remove the |
All checks passed. This is a bug that will be fixed soon. |
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
Seems something is fishy It's not working for me properly sometimes! |
NVM, I was testing on the wrong build, all looks good! |
🚀 Deployed to staging by @neil-marcellini in version: 1.2.27-0 🚀
|
Echoing @sobitneupane in the main issue, this PR has caused a regression. Per the BZ checklist, is there anything we can add to TestRail or the PR reviewer checklist to prevent such a regression for happening again? |
🚀 Deployed to production by @roryabraham in version: 1.2.27-4 🚀
|
🚀 Deployed to production by @roryabraham in version: 1.2.27-4 🚀
|
Details
Adding
focusable
to the PDF container so the scroll with an arrow key is go through the container instead of depending on thebody
tag focusable.Fixed Issues
$ #10824
$ #10824 (comment)
Tests
Test on Web/Desktop
QA Steps
Test on Web/Desktop
PR Author Checklist
### Fixed Issues
section aboveTests
sectionQA steps
sectiontoggleReport
and notonIconClick
)src/languages/*
filesWaiting for Copy
label for a copy review on the original GH to get the correct copy.STYLE.md
) were followedAvatar
, I verified the components usingAvatar
are working as expected)/** comment above it */
this
properly so there are no scoping issues (i.e. foronClick={this.submit}
the methodthis.submit
should be bound tothis
in the constructor)this
are necessary to be bound (i.e. avoidthis.submit = this.submit.bind(this);
ifthis.submit
is never passed to a component event handler likeonClick
)StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG
)Avatar
is modified, I verified thatAvatar
is working as expected in all cases)PR Reviewer Checklist
The reviewer will copy/paste it into a new comment and complete it after the author checklist is completed
### Fixed Issues
section aboveTests
sectionQA steps
sectiontoggleReport
and notonIconClick
).src/languages/*
filesWaiting for Copy
label for a copy review on the original GH to get the correct copy.STYLE.md
) were followedAvatar
, I verified the components usingAvatar
have been tested & I retested again)/** comment above it */
this
properly so there are no scoping issues (i.e. foronClick={this.submit}
the methodthis.submit
should be bound tothis
in the constructor)this
are necessary to be bound (i.e. avoidthis.submit = this.submit.bind(this);
ifthis.submit
is never passed to a component event handler likeonClick
)StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG
)Avatar
is modified, I verified thatAvatar
is working as expected in all cases)Screenshots
Web
Fix.PDF.Accessibility.on.Arrow.Key.Web.mov
Mobile Web - Chrome
Fix.PDF.Accessibility.on.Arrow.Key.mWeb-Chrome.mov
Mobile Web - Safari
Fix.PDF.Accessibility.on.Arrow.Key.mWeb-Safari.mov
Desktop
Fix.PDF.Accessibility.on.Arrow.Key.Desktop.mp4
iOS
Fix.PDF.Accessibility.on.Arrow.Key.iOS.mov
Android
Fix.PDF.Accessibility.on.Arrow.Key.Android.mov