-
Notifications
You must be signed in to change notification settings - Fork 1.1k
[Stats Revamp] VoiceOver improvements #19773
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
Conversation
After we remove a row from section, iOS automatically selects another row that is reused for voiceover and automatically reads it. Using UIAccessibility.post API to manually select a row that was moved to another section.
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.
When no cards are shown on the Insights tab, the “Add stats cards” button is shown but isn’t selectable via VoiceOver.
This looks good now, I can select this button using VoiceOver 👍
On the Views & Visitors card, the “Weeks >” button is inaccessible by VoiceOver.
Like you, I couldn't reproduce this either, I tested on trunk.
On the Manage Stats Cards screen, when adding a card to the ACTIVE CARDS list, VoiceOver jumps seemingly randomly to focus on other cards in the list.
This still happens for me. When moving cards from one section to another, VoiceOver focus switches to a seemingly random card before landing on the correct one. I see this in your "Reselecting row for voiceover when a card is moved from active to inactive section" screen recording. When removing Total Likes, the focus temporarily switches to "All-Time" before landing on Total Likes.
After the app returns to the Insights tab after a card is added, VoiceOver reads the “Add Stats Card” button instead of reading the card that was added (or not reading anything).
Again, like you, I couldn't reproduce this either, I tested on trunk.
|
Thanks for testing, @guarani!
Yes, that is the correct observation. My previous fix would only refocus on the correct row after the switch. The issue happens because we call Check dae28bf commit and new videos under Bonus: since we are moving the rows, we get a nice animation. |
You can test the changes in Jetpack from this Pull Request by:
|
You can test the changes in WordPress from this Pull Request by:
|
|
@staskus I've tested this and I've found an issue - after moving a row from the active cards section to the inactive section the accessibility hint is not updated and the voiceover still says "Stat is already displayed in Insights". This is also an issue when moving from inactive section to active section (voiceover says "Select to add this Stat to insights") I've made a recording: AccessiblityHintNotUpdated.mp4 |
Great catch! iOS doesn't reload data when using |
|
Thanks for the update @staskus!
I saw you re-requested a review from me and then @sla8c reviewed and found an issue. Would you prefer I go ahead with reviewing or hold off until you say this is ready? |
@guarani I'll re-request once it's ready. |
I made a fix, reloading the data of the moved row so the accessibility data would update. |
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.
This is working great! I verified the following:
- the issue that @sla8c caught earlier is fixed
- the rows read their state correctly when tapped
- rows that move between active/inactive sections retain their VoiceOver selection rectangle
- the rows in the inactive section retain their ordering
- placeholder rows behave as expected
I like the new table view updates which look smooth and play nicely with VoiceOver as you mentioned above.
Fixes #19727
Description
moveRow,insertRow,deleteRowAPIs, that voiceover correctly interprets and jumps to the correct cellNot reproducible:
Testing instructions
See #19727
Regression Notes
None
None
None
PR submission checklist:
RELEASE-NOTES.txtif necessary.Images & Videos
No results view action button visible for voiceover
accessibility.for.stats.card.mov
Week button visible for voiceover (issue that wasn't reproduced)
week.button.views.and.visitors.card.mov
Reading appropriate hint depending on a row belonging in an inactive or active section
stat.already.displayed.in.the.stats.mov
Reselecting row for voiceover when a card is moved from active to inactive section
https://user-images.githubusercontent.com/4062343/207818131-1e9006f2-c232-4a15-999d-794c17f5491a.mov
https://user-images.githubusercontent.com/4062343/207818177-580cb690-442d-4ab6-9ab7-0722c35ad950.mp4
Coming back to an empty Insights view - back button selected (issue that wasn't reproduced)
back.button.selected.mov