RE: activating behaviours

Ø  If you have a custom button with a role=button and don't listen for the
space key (when the button has focus) the common behviour in  desktop
browsers is for the space key to scroll the page, definitely not what one
would want if they are trying to activate a focused button.
What you are describing happens if the events are listened for at the
document level not the element level right? adding it on a button does not
do what you describe as far as I can tell.



I have two comments for the list about adding events for key watching:



1.    Screen readers such as JAWS in virtual cursor mode call the onclick
event.  Removing the onclick event will break their support in virtual
cursor mode even if you watch for enter or space.

2.    In the past – there were issues with some technology combinations
when onclick and onkeypress where used as the onclick event and keypress
event were both fired and actions occurred twice.  Thus, this is something
to consider when using both types of events.



Jonathan



*From:* Steve Faulkner [mailto:faulkner.steve@gmail.com]
*Sent:* Tuesday, July 10, 2012 9:33 AM
*To:* Chaals McCathieNevile
*Cc:* Bryan Garaventa; Emmanuelle Gutiérrez y Restrepo; WAI Interest Group;
Ramón Corominas
*Subject:* Re: activating behaviours



Hi chaals

Understand where you are coming from, but I hink you are blowing the issue
out of proportion.

Currently developers do not have the facility to use generic mechanisms,
thats what the Indie UI [1] work is about. So its is best to provide
expected interactions for users where possible.


you wrote:

"Sometimes. For probably 100 million users (TV browsers and mobile phone
browsers), the 'ok' button in the joystick control activates buttons. For a
handful more, it's a special-purpose key - for example used to mirror half
a keyboard for one-handed users, or to swap input methods, or various other
important functionalities."

And how would listening for the space key in addition to the native event
handler, on a focused button, negatively impact them?

you wrote:
"Indeed. It makes a browser less usable if it is expected to behave that
way. On the other hand, if the browser is expected to use space for
something else, and the author has trapped it for their page only, you're
creating a new usability problem by interfering with the existing UI the
user knows."

If you have a custom button with a role=button and don't listen for the
space key (when the button has focus) the common behviour in  desktop
browsers is for the space key to scroll the page, definitely not what one
would want if they are trying to activate a focused button.
What you are describing happens if the events are listened for at the
document level not the element level right? adding it on a button does not
do what you describe as far as I can tell.

you wrote:

"Having the page content determine the particular activation for UI is
generally a terrible idea - as recognised for more than a decade when
accessibility guidelines first said "make sure you enable access for all
users to all controls". Javascript keyboard traps are a terrible way of
trying to do that, and if at all possible should be avoided for the massive
range of problems they introduce. Not recommended as a solution, because
then we go from one problem to two problems..."

So are you suggesting that no event handlers should be used? I think this
would demolish any capacity to make scripted widgets accessible to keyboard
users.

[1] http://www.w3.org/WAI/IndieUI/


regards
SteveF

On 10 July 2012 14:04, Chaals McCathieNevile <w3b@chaals.com> wrote:

On Tue, 10 Jul 2012 11:04:04 +0200, Steve Faulkner
<faulkner.steve@gmail.com> wrote:

Hi Chaals,
you wrote:

"Why? The specific mechanism for activation should be able to varybetween
browsers*. Authors trying to guess which keys I have available on whatever
device is in front of me cause massive problems in general.It is true that
not all users know how to use their browser, but actively making it not
work isn't a very good solution and should only be done as a last resort."

There are standard keys for activating standard controls, which should work
pretty much everywhere.


No, there are common conventions, which should generally work on systems
that can offer them sensibly.

a button has 2 common keys assigned, enter and space.


Sometimes. For probably 100 million users (TV browsers and mobile phone
browsers), the 'ok' button in the joystick control activates buttons. For a
handful more, it's a special-purpose key - for example used to mirror half
a keyboard for one-handed users, or to swap input methods, or various other
important functionalities.

Some AT provide hints on how to use controls they recognise:I detailed
examples here, a while ago for a range of ARIA roles (which map onto
standard accessibility API roles:



http://www.paciellogroup.com/blog/aria-tests/user-input-widgets.html



design patterns for a range of controls are documented in the wai-aria
authoring guide: http://www.w3.org/WAI/PF/aria-practices/#aria_ex


Comments to come...

So the effect of having a button that cannot be activated using the space
key as expected,  may be a problem.


Indeed. It makes a browser less usable if it is expected to behave that
way. On the other hand, if the browser is expected to use space for
something else, and the author has trapped it for their page only, you're
creating a new usability problem by interfering with the existing UI the
user knows.

This is exactly the same as the problem that was created by bad
implementations of accesskey (in fact if there had been better ones from
the get-go people probably wouldn't have come up with this "solution" in
the first place).

Having the page content determine the particular activation for UI is
generally a terrible idea - as recognised for more than a decade when
accessibility guidelines first said "make sure you enable access for all
users to all controls". Javascript keyboard traps are a terrible way of
trying to do that, and if at all possible should be avoided for the massive
range of problems they introduce. Not recommended as a solution, because
then we go from one problem to two problems...

cheers

On 9 July 2012 18:20, Chaals McCathieNevile <w3b@chaals.com> wrote:



On Mon, 09 Jul 2012 16:31:03 +0200, Emmanuelle Gutiérrez y Restrepo

<coordina@sidar.org> wrote:



Good point Bryan,



"Proper scripting is always necessary toensure functionality for users that
cannot benefit from ARIA."




It is important to note that, for all developers.




Indeed.




2012/7/9 Bryan Garaventa <bryan.garaventa@whatsock.com>


Actually I ran across this not too long ago, where I had a Span tag with
tabindex=0 and role=link, and tried using just a click event to handle
>>>the keypress.



This worked fine for screen reader users, but failed completely for
keyboard only users not using a screenreader.




On what browser(s)? Did you file bugs, or do you know of them for the
relevant browsers? Maybe you could add them to the a11ybugs list of things
to >annoy browser makers about...






----- Original Message -----

From: Steve Faulkner






I think pretty much all browsers allow

activating click events with the keyboard, and will add things if you give
them a tabindex. So adding specific keyboard >handling is probably
>>>>>redundant if you're just using click (mouseover, focus, and various
other things are still not so good).





I think you are right, but need to take into account keyboard behaviour for
things like buttons, which require activation on space key press as
>>>>well as enter key




Why? The specific mechanism for activation should be able to vary between
browsers*. Authors trying to guess which keys I have available on whatever
>device is in front of me cause massive problems in general. It is true
that not all users know how to use their browser, but actively making it
not >work isn't a very good solution and should only be done as a last
resort.





*for usability the basics should be the same where possible - e.g. Opera
should fix the fact that they use the tab key for form-only navigation and
>ctrl-arrows for "tabbing" through all active things, because although
their overall keyboard navigation implementation was light years more
advanced >than anyone else, when there is a convention as strong as the tab
key it is unhelpful not to follow it)





cheers



Chaals





see
http://www.paciellogroup.com/blog/2011/04/html5-accessibility-chops-just-use-a-button/for
more details.





regards

Steve





On 9 July 2012 11:47, Chaals McCathieNevile <w3b@chaals.com> wrote:







 On Sun, 08 Jul 2012 22:29:30 +0200, Ramón Corominas <
listas@ramoncorominas.com> wrote:







Hi all, and apologies for cross-posting.



Last     Saturday I gave a presentation in the SpainJS event about creating
    accessible apps using WAI-ARIA. The idea was to show JS
>>>>>>developers that     accessibility is an essential component to
achieve quality coding, and the     potential of ARIA to create more
>>>>>>accessible apps.





I've uploaded the     slides here:

http://ramoncorominas.com/spainjs/




Nice   :)


Comments, suggestions or corrections are welcome     (smile)




I think pretty much all browsers allow   activating click events with the
keyboard, and will add things if you give   them a tabindex. So >>>>>adding
specific keyboard handling is probably redundant   if you're just using
click (mouseover, focus, and various other things are   still >>>>>not so
good).





I'd be interested in learning if that is not the   case...



cheers



Chaals



--Chaals - standards   declaimer









-- with regards



Steve Faulkner

Technical Director - TPG



www.paciellogroup.com | www.HTML5accessibility.com |
www.twitter.com/stevefaulkner



HTML5: Techniques for providing useful text alternatives -
dev.w3.org/html5/alt-techniques/

Web Accessibility Toolbar -
www.paciellogroup.com/resources/wat-ie-about.html















--
Chaals - standards declaimer




-- 
with regards

Steve Faulkner
Technical Director - TPG

www.paciellogroup.com | www.HTML5accessibility.com |
www.twitter.com/stevefaulkner


HTML5: Techniques for providing useful text alternatives -
dev.w3.org/html5/alt-techniques/
Web Accessibility Toolbar -
www.paciellogroup.com/resources/wat-ie-about.html







-- 
Chaals - standards declaimer




-- 
with regards

Steve Faulkner
Technical Director - TPG

www.paciellogroup.com | www.HTML5accessibility.com |
www.twitter.com/stevefaulkner
HTML5: Techniques for providing useful text alternatives -
dev.w3.org/html5/alt-techniques/
Web Accessibility Toolbar - www.paciellogroup.com/resources/wat-ie-about.html

Received on Tuesday, 17 July 2012 17:01:27 UTC