WebAIM - Web Accessibility In Mind

E-mail List Archives

Re: [EXTERNAL] Navigation in application mode

for

From: Tim Harshbarger
Date: Jun 22, 2018 7:23AM


Instead of using role="application", it would be better to use an ARIA design pattern that more closely matched the interaction.

The thing with role="application" is that, while it puts screen reader users in forms mode, it doesn't really tell us how to get around the application. So using role="application" for one part of the page is not likely to inform screen reader users that pressing the up and down arrow keys will move from meeting to meeting and pressing the left and right arrow keys will move between days.

A listbox might work because a screen reader user will expect the up and down arrow keys to move up and down the list. Unfortunately, there is also an expectation that using the left and right arrow keys will do the same exact thing as using the up and down arrow keys. Users would not expect the left and right arrow keys to move between days. If you used a listbox, you likely would need to explicitly inform users of what the left and right arrow keys do differently.

To me, this sounds more like a grid. In a grid, there would likely be a better expectation that the up and down arrow keys would move within the day while the left and right arrow keys move between days.

Thanks,
Tim


-----Original Message-----
From: WebAIM-Forum [mailto: <EMAIL REMOVED> ] On Behalf Of <EMAIL REMOVED>
Sent: Friday, June 22, 2018 1:27 AM
To: 'WebAIM Discussion List' < <EMAIL REMOVED> >
Subject: [EXTERNAL] [WebAIM] Navigation in application mode

Hi all.

I have a dev who is doing something really non-standard. As far as I
understand the issue at this point of time. He wants to use the up/down
arrow to move between meetings. The left and right arrow moving between the
days. Using non-application mode will not work due to screen readers as far
as I can tell. But he wants use the application role to achieve this. These
UI I am referring to have buttons for next and prior day. The meetings from
memory are not in any UI element like a list.

Any ideas how this can be achieved without using application mode?


How does the javascript keyboard event handle keyboard navigation when it is
not on an element. Do you have to apply the keyboard event to the body of
the html and track from there?

Sean