Switch to focus mode if read-only list items and their list parents are focusable and gain focus#13357
Conversation
…are focusable and have focus
|
Nice, looks good to me. In NVDA changelog entries though, it's typical to link to the issue that it solves (if applicable). |
|
Thanks @TheQuinbox, I just updated the initial description with that, as well as the checkbox for the testing part, since the manual check checks out nicely. |
|
Have you considered adding Chrome system test demonstrating the behavior based on the code snippet in #13221? |
|
Thanks @CyrilleB79, corrected the typo. @lukaszgo1 I'll try that system test thing, but this is all still very confusing, so may take a while. And it's made difficult by the fact that I can't currently even run local builds, and that includes tests. See my message in the nvda-devel mailing list. But I'll try nevertheless. |
|
Thanks Marco, this is a nice improvement! One question: Isn't it just enough that a list item has focus? Why check the focusable state on the parent list as well?? |
|
@LeonarddeR I was going with @michaelDCurran's statement from #13221 (comment):
This is how MS Edge's Download Manager list works, and it means that @kloots will have to make a slight adjustment in Slack to put tabindex="-1" on the actual list, which Slack currently doesn't do yet. |
See test results for failed build of commit d2aff99624 |
|
For reference, the reasoning behind requiring focusable on the list is to limit where this code will apply.
But, it has been made clear that the standard does not really fit some particular use cases, and therefore this change is needed. Therefore it is being added, but with the limitation that the list must also be focusable. This idea was proposed by Slack themselves. |
|
I think the title of this pr should refer to Focus mode, not Browse mode. |
Done. |
Co-authored-by: Michael Curran <mick@nvaccess.org>
See test results for failed build of commit c59b1d1579 |
See test results for failed build of commit a6844f4d79 |
See test results for failed build of commit 59e227bd53 |
…age to appease the linter earlier.
See test results for failed build of commit f441d32e50 |
|
Sorry this is going so slowly. I cannot run the tests on my local machine because it is not an English language Windows, and therefore all NVDA tests fall on their face. So I have to peel this like an onion. |
See test results for failed build of commit 91fb4e4aae |
|
@michaelDCurran I don't understand this error message. The previous test failures were clear, but this one confuses me. It says:
Any help is appreciated. |
|
Looks like we are not automatically switching back to browse mode when tabbing into the document and on to the first link. However, tabbing to the second link does switch. |
|
I just extended the test case to tab to the second link, which does switch to browse mode, and then shift-tab twice. However, if that fails, I'll go with your suggestion and just do the very simple one, which now passes. Thanks! |
|
@michaelDCurran I went with your suggestion of simplifying the test case after all, and it now passes. I can't clear the "changes requested" flag from the issue even though I applied your suggested code change, and also updated the PR title. So, tossing this back for review in hopes that things look good so far. I'd also be happy to help out with #12896 if that's desired. |
|
Thanks for your work on this @MarcoZehe. |
|
This is great! Do you think you can think of a way to fix #12266? It's a similar list focus problem. Thanks! |
|
I just commented on the issue: It is a different bug, which will not be fixed by this pull request. The bug is in the Chromium engine, not NVDA in that case. The markup is also radically different from what is being used here. |
|
@michaelDCurran I see this has been added to the 2022.1 release milestone. Does the team have a release date spec'd for 2022.1? |
|
@kloots perhaps end of March / early April. |
|
@michaelDCurran curious about the release date for this fix: any update as to when this will go out to production? |
|
It is currently in NVDA 2022.1beta3. There are plans for a beta4 in the
coming week or so, and then the release will most likely be 3 or so
weeks after that. So rough guess is mid May.
|
|
Great. Thanks @michaelDCurran. Dumb question: how do I get the beta? |
|
Link to beta3 post: https://www.nvaccess.org/post/nvda-2022-1beta3/
|
|
Thanks @michaelDCurran. One last question, do you have a sense for how quickly NVDA users upgrade? |
|
Users upgrade pretty slowly I'm sorry to say.
NVDA 2021.3.5 has been out for about 3 weeks now, and only 30% of users
have upgraded. The rest are all on random older versions. The next most
popular version is 2021.3.1 at just under 10%.
We alert users of updates within NVDA when ever they are available.
|
Link to issue number:
Fixes #13221
Summary of the issue:
In the Microsoft Edge Downloads manager (CTRL+J), as well as in the channel and DM outputs of the Slack app, HTML lists and list items are used to display the items. These are made focusable via either aria-activedescendant, or the rowing tabIndex pattern. The reason is that for compatibility, these can be used to host rich content, such as whole sub documents or controls. Until now, NVDA would not automatically switch to focus mode when focus lands on such a focusable list item.
Description of how this pull request fixes the issue:
This PR adds a rule for enabling passthrough mode if a list item that is read-only, has state focused, and at the same time its paarent is of role list and is focusable.
Testing strategy:
Known issues with pull request:
None known.
Change log entries:
New features
Changes
Bug fixes
For Developers
Code Review Checklist: