FLUID-838: Add ARIA support to Inline Edit

Metadata

Source
FLUID-838
Type
Task
Priority
Blocker
Status
Closed
Resolution
Fixed
Assignee
Anastasia Cheetham
Reporter
Anastasia Cheetham
Created
2008-06-27T17:00:49.000-0400
Updated
2009-06-03T13:43:46.000-0400
Versions
  1. 0.4beta1
Fixed Versions
  1. 0.4
Component
  1. Inline Edit

Description

dev-iteration37
dev-iteration39

Comments

  • Anastasia Cheetham commented 2008-06-27T22:29:22.000-0400

    According to the ARIA spec, the correct role seems to be "textbox" but the prominent ATs (e.g. JAWS) do not seem to respond to this.

    I have attached a patch file that would be appriopriate if the role is to be set to "textbox" - it also sets the "readonly" state to "false", to inform users that the value can be edited.

  • Colin Clark commented 2008-06-28T08:48:21.000-0400

    Here's an alternative patch that sets the role of the text view to "button." I'll defer to Jonathan and Anastasia in terms of which one is best.

  • Colin Clark commented 2008-06-28T08:50:23.000-0400

    Anastasia sent me a really insightful email about the various ARIA issues in regards to inline editing. She'll post to the list, but in the meantime, here's a summary:

    On 27-Jun-08, at 6:18 PM, a.cheetham@utoronto.ca wrote:

    I concur with Joseph and Jonathan that based on the descriptions in
    the ARIA specs, "textbox" is most appropriate ("Inputs that allow
    free-form text as their value"). You'll note that the pattern does
    state that you don't need to put this on actual form fields, and we'd
    only add it to the display element, not the <input>. I disagree with
    the suggestion to set "readonly" to true when the edit box is not
    active - in fact, I think it would need to be set to false, otherwise
    there is no affordance that the text is editable!

    Jonathan is also right that actually using "textbox" is ineffective -
    at least as far as JAWS is concerned. In both IE and FF, a role of
    "textbox" affects no change whatsoever in JAWS' behaviour. To me,
    that's a flaw in JAWS. I believe that Joseph will be communicating
    with various relevant people about this issue.

    As to a role of "button," the specs describe it as "Allows for
    user-triggered actions," which is not entirely off base here, if you
    twist your head to the side a bit and squint...

    In FF in general (i.e. no ARIA), JAWS does speak the display text
    when the cursor is on, and doesn't speak anything when the cursor
    is off.

    With ARIA:
    In FF, a role of "button" does cause JAWS to speak the diplay text
    when the cursor is off (whereas with "textbox" or nothing, JAWS is
    silent). But it also says the word "button" after the text, which is
    weird for the user.

    So basically, if you want code that looks correct, and does what the
    spec says, use the patch I attached to 838, and demo with IE. If you
    want something that says "button", use your patch, and demo with FF
    with the cursor off.

  • Anastasia Cheetham commented 2008-07-17T20:51:38.000-0400

    I'll implement the 'button' version. It has no effect in IE, but then, nothing does. At least in FF, it causes the word 'button' to be spoken.