--
You received this message because you are subscribed to the Google Groups "Free ARIA Community" group.
To post to this group, send email to free...@googlegroups.com.
To unsubscribe from this group, send email to free-aria+...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/free-aria?hl=en.
The way NVDA handles this depends on how it is configured. By default,
when in focus mode (which is the normal way of interacting with editable
text fields), all keys are passed through to the field except escape.
However, if the user has enabled Automatic focus mode for caret
movement, the arrow keys will be captured if the user is at the edge of
the field; i.e. pressing the arrow key causes no movement. This is one
reason this setting is disabled by default. However, if users enable it,
they should be aware of this issue and compensate accordingly.
Jamie
--
James Teh
Vice President, NV Access Inc
Email: ja...@nvaccess.org
Web site: http://www.nvaccess.org/
Phone: +61 7 5667 8372
> On 30/12/2011 6:42 AM, E.J. Zufelt wrote:
>> Do you know how any other screen-readers (WE, NVDA, etc) handle this?
> For this type of control, you should not use role application or role dialog, as it isn't an application or a dialog. (Btw, that's generally the best way to figure out whether you should be using those roles.)
>
Sadly for a UI component that will be used in many different UIs, where we do not have control over the settings of assistive technology, or the ability to easily educate users, we do need some method of reliably catching all keys passed to the component. Perhaps a suggestion for WAI-ARIA Next would be a 'widget' (or otherwise named) role, that serves the same purpose as application / dialog, but without the additional semantics. For the present, it looks like we need to use application or dialog in order to ensure that we can consistently trap arrow keys across assistive technology, particularly where auto forms mode (or equivalent) is enabled.
Thanks,
Everett
.
On Dec 29, 2011, at 3:35 PM, E.J. Zufelt wrote:
>> Sadly for a UI component that will be used in many different UIs, where we do not have control over the settings of assistive technology, or the ability to easily educate users, we do need some method of reliably catching all keys passed to the component. Perhaps a suggestion for WAI-ARIA Next would be a 'widget' (or otherwise named) role, that serves the same purpose as application / dialog, but without the additional semantics. For the present, it looks like we need to use application or dialog in order to ensure that we can consistently trap arrow keys across assistive technology, particularly where auto forms mode (or equivalent) is enabled.
This approach is extremely flawed. It solves the problem of passing keys
through to the widget at the expense of completely breaking consistency
and standard workflow. For example, if you do as you suggest and you
have Automatic focus mode for caret movement (or equivalent) enabled,
down arrow will move you into the widget but then you won't be able to
get out of it without pressing tab. Similarly, even if this is not
enabled, pressing escape won't switch out of focus mode, which is what
users expect. Many of us don't use the tab key to move between widgets,
which is essentially the only method of interaction your method allows.
Users need to be familiar with how to use their AT of choice and the AT
needs to specify sensible defaults to assist with this. Once they are,
all of this becomes trivial. The aforementioned autocomplete example
will work just fine in NVDA with the defaults we have chosen.
> Despite several requests, no one has provided proper information on what ARIA widgets NVDA does not enable focus mode for. One exception is toolbars, which is a known issue.
>
There you go, "toolbars".
I'll follow up with others although they may have been fixed. Toolbar is abiggy one though.
>>> Sadly for a UI component that will be used in many different UIs, where we do not have control over the settings of assistive technology, or the ability to easily educate users, we do need some method of reliably catching all keys passed to the component. Perhaps a suggestion for WAI-ARIA Next would be a 'widget' (or otherwise named) role, that serves the same purpose as application / dialog, but without the additional semantics. For the present, it looks like we need to use application or dialog in order to ensure that we can consistently trap arrow keys across assistive technology, particularly where auto forms mode (or equivalent) is enabled.
> This approach is extremely flawed. It solves the problem of passing keys through to the widget at the expense of completely breaking consistency and standard workflow. For example, if you do as you suggest and you have Automatic focus mode for caret movement (or equivalent) enabled, down arrow will move you into the widget but then you won't be able to get out of it without pressing tab. Similarly, even if this is not enabled, pressing escape won't switch out of focus mode, which is what users expect. Many of us don't use the tab key to move between widgets, which is essentially the only method of interaction your method allows.
>
> Users need to be familiar with how to use their AT of choice and the AT needs to specify sensible defaults to assist with this. Once they are, all of this becomes trivial. The aforementioned autocomplete example will work just fine in NVDA with the defaults we have chosen.
>
> Jamie
>
> --
> James Teh
> Vice President, NV Access Inc
> Email: ja...@nvaccess.org
> Web site: http://www.nvaccess.org/
> Phone: +61 7 5667 8372
>
This approach is extremely flawed. It solves the problem of passing keys through to the widget at the expense of completely breaking consistency and standard workflow. For example, if you do as you suggest and you have Automatic focus mode for caret movement (or equivalent) enabled, down arrow will move you into the widget but then you won't be able to get out of it without pressing tab. Similarly, even if this is not enabled, pressing escape won't switch out of focus mode, which is what users expect. Many of us don't use the tab key to move between widgets, which is essentially the only method of interaction your method allows.Sadly for a UI component that will be used in many different UIs, where we do not have control over the settings of assistive technology, or the ability to easily educate users, we do need some method of reliably catching all keys passed to the component. Perhaps a suggestion for WAI-ARIA Next would be a 'widget' (or otherwise named) role, that serves the same purpose as application / dialog, but without the additional semantics. For the present, it looks like we need to use application or dialog in order to ensure that we can consistently trap arrow keys across assistive technology, particularly where auto forms mode (or equivalent) is enabled.
Users need to be familiar with how to use their AT of choice and the AT needs to specify sensible defaults to assist with this. Once they are, all of this becomes trivial. The aforementioned autocomplete example will work just fine in NVDA with the defaults we have chosen.
> Should they just know to temporarily change their settings if they want
> to use the suggestions?
That depends. NVDA has two options for automatic focus mode: automatic
focus mode for focus changes and automatic focus mode for caret
movement. The former is enabled by the default, while the latter is not.
If only the former is enabled, autocompletes will be unaffected because
up/downArrow is never intercepted by NVDA while in focus mode. If the
latter is enabled, users should expect that up/downArrow will move
through the document and will behave unreliably in autocomplete fields.
This is one reason we have it disabled by default. A user can always
force the screen reader into focus mode with NVDA+space or use pass key
through (NVDA+f2).
> What is the behavior of native autocomplete fields?
They actually bring up a menu which is outside the document. However, if
auto focus mode for caret movement is enabled, this will cause problems
because the user is probably expecting up/downArrow to move through the
document, not move through autocompletes. Autocomplete and auto focus
mode for caret movement are incompatible unless the user is willing to
work around the conflicts.
> Does native
> autocomplete in a web page behave exactly the same as the autocomplete
> in the location bar?
Pretty similar, yes.
--
You received this message because you are subscribed to the Google Groups "Free ARIA Community" group.
To post to this group, send email to free...@googlegroups.com.
To unsubscribe from this group, send email to free-aria+unsubscribe@googlegroups.com.
To unsubscribe from this group, send email to free-aria+...@googlegroups.com.
I am not sure about the best options for those who use auto forms mode on, because I turn this options off always, but I hope the list elements will continue to be accessible in the future by just using the up and down arrows for those who don't use this option.
Octavian
----- Original Message -----
From: "E.J. Zufelt" <li...@zufelt.ca>
To: <free...@googlegroups.com>
Sent: Wednesday, January 04, 2012 3:28 PM
Subject: Re: [free-aria] Arrow keys in input elements and role=application
Everett Zufelt
http://zufelt.ca
> If we could get agreement from screen-reader vendors to not exit a field
> when autofocus is enabled, and an arrow key event is cancelled by a
> textfield, we could have a level of consistency that would allow us to
> proceed as widget developers without users needing to understand their
> technology, and without using application mode.
The whole point of auto focus mode for caret movement is that the user
*expects* to be able to press up/downArrow to move out of an editable
text field. This proposal would break this expectation, thus breaking
the user's understanding of their technology, thereby counteracting its
original intent. We already have this problem with native autocompletes.
> 1. User is in a textfield and presses down arrow.
> 2. Screen-reader is configured with autofocus enabled, but passes arrow
> to textfield anyway.
NVDA already does this.
> 3. Screen-reader listens at end of event chain to see if arrow key has
> been pressed, if so then exits textfield, if not then some other event
> handler has cancelled the event, and does nothing.
It's very possible that the screen reader can't hook into the DOM event
chain like this. This is certainly true in Firefox.
It's worth noting that if something else gains focus when downArrow is
pressed (e.g. a menu item or similar), NVDA will not switch to browse
mode. This means that if your autocomplete widget implements suggestions
as by focusing menu items or similar, you will get the behaviour you're
asking for, though I'd still argue this will confuse users.