Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

Already on GitHub? Sign in to your account

Start button in Windows 8.1 and later is recognized as a list and reported as selected #5178

Closed
nvaccessAuto opened this Issue Jun 22, 2015 · 8 comments

Comments

Projects
None yet
5 participants

Reported by nvdakor on 2015-06-22 20:56
Hi,
When you navigate desktop via object navigation or tab through the shell window, NVDA announces Start button as a list.

STR:

  1. Press Windows +M to minimize all windows.
  2. Press TAB to go to Start button.
    Expected: NVDA announces "Start button".
    Actual: In Windows 8.1 and 10, NVDA says, "Start list selected".

Technical: Thankfully, window class name is "Start", which is unique among Windows Explorer objects. Somehow, IAccessible thinks it is a list when documentation clearly says it is a button. This is for Windows 8.1 and 10 (likely as a result of removal of Start button in Windows 8). Tweaking this with NVDAObject_init solves the problem.
Thanks.

Comment 1 by Joseph Lee <joseph.lee22590@... on 2015-06-22 21:04
In [ae34598]:

Explorer: Start button in Windows 8.1 and later should not have been a list in the first place, now reported as button. re #5178

Collaborator

josephsl commented Nov 25, 2015

Hi,

Solution change: Since Windows 10 Version 1511 (build 10586), Start button is now labeled as a button. Thus, it might be possible to isolate Windows builds with this issue (9200 (Win8), 9600 (Win8.1), 10240 (Win10 RTM)). I'll formally request a pull request as a separate issue, linking the two tickets. Thanks.

Contributor

jcsteh commented Nov 25, 2015

No need t do build checks if that's what you mean; this code simply won't match on a system which has the fix because the role will be different. There are, however, some other issues with your fix. I'll comment on the commit.

@josephsl josephsl added a commit that referenced this issue Nov 25, 2015

@josephsl josephsl Explorer: Start button in Windows 8.1 and later should not have been …
…a list in the first place, now reported as button. re #5178
ae34598

@josephsl josephsl added a commit that referenced this issue Nov 25, 2015

@josephsl @jcsteh josephsl + jcsteh The Start buttn on the Taskbar is no longer reported as a list and/or…
… as selected in some versions of Windows.


Fixes #5178.
92b868f

Incubated in b1f00f4.

@josephsl josephsl added a commit that referenced this issue Nov 25, 2015

@josephsl josephsl Start button: Catch KeyError exception when using object navigation t…
…o move through shell items which includes the Start button. re #5178
847e589
Collaborator

josephsl commented Nov 25, 2015

The latest commit fixes a major bug where error tones were heard when using object nav to move between shell objects such as the Start button (important for touch users as well). Thanks.

Incubated in 64df758.

@josephsl josephsl closed this in 7f61437 Dec 10, 2015

This should be added to 2016.1 Milestone

@jcsteh jcsteh added this to the 2016.1 milestone Dec 14, 2015

Collaborator

dkager commented Feb 13, 2016

This again is as trivial as they come, but in appModules/explorer.py:chooseNVDAObjectOverlayClasses, should there not be a return statement after inserting the appropriate class? E.g.:

        if windowClass == "Start" and role in (controlTypes.ROLE_LIST, controlTypes.ROLE_BUTTON):
            if role == controlTypes.ROLE_LIST:
                clsList.remove(List)
            clsList.insert(0, StartButton)
            return
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment