Re: [orca-list] Clicking hotspot Links and Flat Review?



On Sat, Oct 08, 2011 at 11:10:57AM +1100, Jason White wrote:
Mallory van Achterberg <stommepoes stommepoes nl> wrote:
I just got back from a front-end conference where Derek Featherstone
talked about exactly this: fake buttons, fake links, fake checkboxes
and more... becoming more and more popular on the web.

What do you mean by "fake"? Do you mean implemented in Javascript rather than
as an HTML form control?

Yes, usually needs Javascript to work. The only reasons for why that
we can come up with is, some boss somewhere insisted that the form
controls look a certain way, and forms are one area where CSS styling
can't always fight against browser (or OS) defaults.

A typical example of this would be a tri-state checkbox, which has three
states rather than two. There is no HTML form control for this, but it can be
implemented, for example, as an HTML DIV element with associated Javascript
code.
Still, checkboxes and buttons *do* exist in HTML. Amazon's list
visually was indiscernable from any other set of checkboxes. You had
to view source to see what it really was. And GMail... I have no
idea what's going on with them, but their "buttons" all do look like
buttons. They were pretty careful with the visual aspect of usability.
If it looks like a button, people will press it.
 
User interface controls written in this way can be made accessible with Aria.
Indeed, this is one of the primary reasons why Aria was designed in the first
place.

Roles help, sometimes. Featherstone's talk was mostly based on his
previous talks where afterwards, someone came up and said "A lot of
what you propose sounds like a hack" (meaning, it was constantly
working around the specs or around bad implementations). ARIA is now
in the spec and this helps immensely.

One problem with the roles: often web developers (myself included) make
"buttons" out of anchors. That is, users are "told" visually that
this thing is clickable and Does Something. Stuff like "Buy Now!" which
is just a hyperlink to a signup form or something.
But if it's more complicated than that, and still looks like a button,
there's a problem: role=button means, press spacebar to initiate.
Spacebars don't activate hyperlinks though. They need to be clicked
or users need to hit enter.

Featherstone also went over some of the known issues today with
dialogue boxes and the associated roles. For many web developers it's
still a great unknown.
 
Sometimes I wonder how far backwards we should expect screenreaders
to bend when the problem isn't the screen readers in the first place. 

The Web sites need to cooperate by implementing Aria. Apparently, 
libraries of user interface components written in Javascript are increasingly
used by Web site developers these days. If such libraries support Aria, then
content that uses them should be accessible.

The web sites need to cooperate by using the correct element(s)
for the job. I would say using the wrong element when there's a 
perfectly usable native element is in the majority of web sites,
and ARIA here is a patch. I'm not against patches, except we all know
they don't get implemented as often as something built-in.
If the web authors had used the correct elements in the first place,
stuff would "just work" much more often.

"Our site uses heavy Javascript" isn't an excuse. Sure, sometimes you
need to use a random element because there is nothing better. More
often, though, it's just easier to grab J Random Element and throw
an onclick event on it and be done.  

Cheers,
Mallory





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]