Skip to content
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

NVDA should not use a virtual buffer for objects within an application #277

Closed
nvaccessAuto opened this issue Jan 1, 2010 · 11 comments
Closed

Comments

@nvaccessAuto
Copy link

Reported by vtsaran on 2009-02-18 01:06
Currently,

  1. NVDA will detect the presence of the APPLICATION and DOCUMENT roles but only when virtual buffer is completely turned off, i.e. with INSERT+SPACE keystroke.
  2. NVDA will ignore ARIA roles of APPLICATION and DOCUMENT when virtual buffer is turned on, i.e. when the user is in "browse" or "focus" mode.
  3. When the roles above are detected, NVDA does not toggle virtual buffer, i.e. "on" for role=application and "off" for role=document.

I am attaching a farily simple HTML document that will hopefully demonstrate the behavior described above. Please note: in this example the roles of APPLICATION and DOCUMENT are set on the specific regions of the page.
Blocking #160

@nvaccessAuto
Copy link
Author

Attachment Application_and_Document_roles.html added by vtsaran on 2009-02-20 07:53
Description:
Sample HTML file demonstrating the use of APPLICATION and DOCUMENT roles

@nvaccessAuto
Copy link
Author

Comment 1 by jteh on 2009-02-18 01:13
NVDA doesn't engage the virtual buffer at all if the root node has a role of application; i.e. focus mode is completely irrelevant. This is correct, in my opinion; an application should never have a virtual buffer. However, we do need to handle application roles inside a virtual buffer. This is going to be a bit tricky, but I'll look into it.

@nvaccessAuto
Copy link
Author

Comment 2 by vtsaran (in reply to comment 1) on 2009-02-18 04:40
Replying to jteh:

NVDA doesn't engage the virtual buffer at all if the root node has a role of application; i.e. focus mode is completely irrelevant. This is correct, in my opinion; an application should never have a virtual buffer.

Absolutely. I was not suggesting that NVDA should engage virtual buffer when the "application" mode is active.

However, we do need to handle application roles inside a virtual buffer. This is going to be a bit tricky, but I'll look into it.

Cool. Let me know if more examples are necessary.

@nvaccessAuto
Copy link
Author

Comment 3 by jteh on 2009-02-18 06:37
I think you forgot the attachment?

@nvaccessAuto
Copy link
Author

Comment 4 by vtsaran on 2009-03-24 06:01
Since ARIA allows placing the role of APPLICATION on a given region of the page, it may also be useful to assume "browse mode" outside of such a region. In other words, before and after the role of APPLICATION is encountered, NVDA should keep virtual buffer on unless input elements come into focus. The behavior, described above, should happen regardless of whether other regions on the page have the role of DOCUMENT.

@nvaccessAuto
Copy link
Author

Comment 5 by jteh on 2009-03-24 06:10
One problem with this idea is that imho, an application should never be rendered into a virtual buffer. It's not just a question of browse and focus modes; an application is not supposed to engage the virtual buffer at all. Unfortunately, this means that you will never be able to get to the application from within the document. Imho, you need to have one or the other (document or application), not both; you can't xpect an application to be treated as a document without running into problems. This may need to be discussed further on free-aria or the like, as it will also affect things such as caret navigation in browsers.

@nvaccessAuto
Copy link
Author

Comment 6 by jteh on 2009-04-01 08:22
As of r2836, NVDA does not associate an object with a buffer at all if it is within an application. In practical terms, this means that if focus lands within an application, it is as if there is no buffer at all.
Changes:
Changed title from "NVDA should toggle virtual buffer upon detection of APPLICATION and DOCUMENT ARIA roles" to "NVDA should not use a virtual buffer for objects within an application"
State: closed

@nvaccessAuto
Copy link
Author

Comment by jteh on 2009-04-01 08:27
(In #160) Now that #277 is fixed, NVDA does not use the virtual buffer at all for objects within an application (which includes dialog and alert dialog). This makes "Dialog 1" in the test case work correctly.

"Alert Dialog 1" still does not work correctly. This is because the OK button is outside the alert dialog node, which is incorrect. The button should be within the dialog in order to be classified as being part of it.

Pending further testing, I believe all of the bugs on our side are fixed.

@nvaccessAuto
Copy link
Author

Comment 8 by vtsaran on 2011-04-11 23:20
I am going to reopen this bug and modify the issue description if necessary.
We have noticed that in the 2011.1 version NVDA does not toggle the browse mode on when detecting the role of DOCUMENT. The role seems to be detected and reported but nothing else happens, i.e. NVDA remains in "focus mode".
Changes:
State: reopened

@nvaccessAuto
Copy link
Author

Comment 9 by vtsaran on 2011-04-11 23:23
Changes:
State: closed

@nvaccessAuto
Copy link
Author

Comment 10 by jteh (in reply to comment 8) on 2011-04-11 23:46
Replying to vtsaran:

We have noticed that in the 2011.1 version NVDA does not toggle the browse mode on when detecting the role of DOCUMENT. The role seems to be detected and reported but nothing else happens, i.e. NVDA remains in "focus mode".

Please file a separate ticket for this issue. A test case would be great if you can manage it. Thanks!

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

No branches or pull requests

1 participant