ENGAGE-450: Cabinet headers are announced as heading level 2. VO user wouldn't know that he/she can expand it.

Metadata

Source
ENGAGE-450
Type
Bug
Priority
Critical
Status
Closed
Resolution
Fixed
Assignee
Justin Obara
Reporter
y z
Created
2010-02-23T16:43:17.000-0500
Updated
2014-03-03T13:46:26.593-0500
Versions
  1. 0.3b
Fixed Versions
  1. 0.3
Component
  1. Cabinet

Description

Because cabinet headers are implemented as level 2 headings it is difficult to figure out that this heading can be actually tapped to expand and expose the contents of the cabinet drawer.

Comments

  • Justin Obara commented 2010-03-17T11:15:43.000-0400

    Bug Parade Engage 0.3

  • Justin Obara commented 2010-03-17T13:54:41.000-0400

    ENGAGE-450.patch.txt contains a patch to wrap the header text in an anchor. This will at least let voiceover users know that the header is actionable. However, it is causing an error with the screen navigator by changing the # in the url. This will need to be addressed before this patch can be applied.

  • Justin Obara commented 2010-03-22T15:33:42.000-0400

    committed patch ENGAGE-450.patch.txt with some changes. Basically now preventing the default click action of the link in the header because this is what was breaking the screen navigator. Also added in functionality to inject the <a> if it isn't currently present. Unit tests have been provided.

  • Justin Obara commented 2010-03-24T10:10:17.000-0400

    Assigned to Antranig for review

  • Antranig Basman commented 2010-03-25T09:46:20.000-0400

    This fix is unstable since it makes the implicit assumption that the selector "header" consists just of a single classname. At the least, it should check whether this is at least slightly appropriate (initial character plus internal non-whitespace, non-symbol check with a regexp) perhaps. It should never just blindly remove the first character from a selector string.
    But to be clearer, the entire strategy appears unstable - there should be a separate means of accounting for which elements should have click handlers bound rather than attempting to displace the "header class". It should be rewritten to revert to simply using the "selectors.header" property as a DOM binder argument as before.