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

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
@nvaccessAuto

nvaccessAuto commented Jun 22, 2015

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.

@nvaccessAuto

This comment has been minimized.

Show comment
Hide comment
@nvaccessAuto

nvaccessAuto Jun 22, 2015

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

nvaccessAuto commented Jun 22, 2015

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

@josephsl

This comment has been minimized.

Show comment
Hide comment
@josephsl

josephsl Nov 25, 2015

Collaborator

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.

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.

@jcsteh

This comment has been minimized.

Show comment
Hide comment
@jcsteh

jcsteh Nov 25, 2015

Contributor

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.

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 added a commit that referenced this issue Nov 25, 2015

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

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

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

Fixes #5178.
@nvaccessAuto

This comment has been minimized.

Show comment
Hide comment
@nvaccessAuto

nvaccessAuto commented Nov 25, 2015

Incubated in b1f00f4.

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

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

This comment has been minimized.

Show comment
Hide comment
@josephsl

josephsl Nov 25, 2015

Collaborator

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.

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.

@nvaccessAuto

This comment has been minimized.

Show comment
Hide comment
@nvaccessAuto

nvaccessAuto commented Nov 25, 2015

Incubated in 64df758.

@JamaicanUser

This comment has been minimized.

Show comment
Hide comment
@JamaicanUser

JamaicanUser Dec 14, 2015

This should be added to 2016.1 Milestone

JamaicanUser commented Dec 14, 2015

This should be added to 2016.1 Milestone

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

@dkager

This comment has been minimized.

Show comment
Hide comment
@dkager

dkager Feb 13, 2016

Collaborator

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
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