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

UIA/Edge: no aria-roledscription and other properties are rendered in browse mode #8448

Closed
josephsl opened this Issue Jun 27, 2018 · 2 comments

Comments

Projects
None yet
3 participants
@josephsl
Collaborator

josephsl commented Jun 27, 2018

Hi,

At the moment NVDA does not render aria-roledescription and friends via Microsoft Edge.

Steps to reproduce:

  1. With multiple web browsers open (including Edge), visit http://www.ets-research.org/ia11ylab/aria11spec/.
  2. Navigate through examples. The key example to look at will be 29 and 30.
  3. Use browse mode commands (including arrow keys) to read examples (in this case, buttons).

Actual behavior:

NVDA does not announce "attachment button".

Expected behavior:

NVDA announces "attachment button" along with button label if present.

System configuration:

NVDA Installed/portable/running from source:

Installed

NVDA version:

Next.15391

Windows version:

Windows 10 Version 1803

Name and version of other software in use when reproducing the issue:

Microsoft Edge, Firefox 61.0

Other information about your system:

Windows 10 App Essentials add-on is installed, but the result is the same no matter if add-ons are enabled or disabled.

Other questions:

Does the issue still occur after restarting your PC?

Yes

Have you tried any other versions of NVDA?

Yes (latest master, 2018.2.1)

Technical details

When using the following procedure, roledescriptoin and friends are returned:

  1. With Edge opened to the website described above, focus on the attachment button.
  2. Open Python Console (Control+NvDA+Z) and do:

import UIAHandler
nav._getUIACacheablePropertyValue(30102)

Note: 30102 is UIA_AriaPropertiesPropertyId constant.

If properties exist, they will appear as a string value of the form:

property=str;property2=str; ...

Which should then allow str.split(";") to return a list of property=str collection, which can be coerced into a properties dictionary. This dictionary should then be used to work with these properties in various places, chiefly in UIA browse mode module.

Thanks.

@josephsl

This comment has been minimized.

Collaborator

josephsl commented Jun 27, 2018

Hi,

The rationale for this are threefold:

  1. Updating assumptions and attitudes about EdgeHTML browse mode: currently NVDA Core assumes Edge objects as being useful for basic web navigation. However, as this area is seeing rapid development, our old assumptions are quickly becoming a liability, including not being updated to support ARIA 1.1 standards that UIA/Edge exposes. Thus, as a form of updating our assumptions, I propose looking into Edge objects collection in hopes of adding roledescription and other goodies from ARIA.
  2. Consistency: a subtle strength of keeping an eye on standards compliance is providing consistent user experience for many cases. This includes recent advancements in supporting ARIA in various browse mode implementations (MSHTML, Gecko, etc.). However, as Windows 10 ships with Edge and with more and more people using it for web accessibility testing purposes, I would imagine someone to ask NV Access and others regarding how nVDA is doing in supporting certain standards via Edge. Thus, I propose adding roledescription support for consistency reasons.
  3. Windows 10 in S Mode: Microsoft does not allow third-party web rendering engines on its Store, meaning web browsers are asked to use EdgeHTML rendering engine (if I read the documentation correctly). Because Edge is set as default web browser in Windows 10 in S Mode (formerly Windows 10 S), some would elect to use it for various tasks, including web accessibility as noted in item 2. Thus, I propose that we look into supporting roledescription for sake of opening up more opportunities for folks who would be using Windows 10 in S Mode/Edge.

Thanks.

@michaelDCurran

This comment has been minimized.

Contributor

michaelDCurran commented Jun 27, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment