FLUID-3707: The reorderer should have the aria application role

Metadata

Source
FLUID-3707
Type
Improvement
Priority
Critical
Status
Closed
Resolution
Won't Fix
Assignee
Antranig Basman
Reporter
Justin Obara
Created
2010-09-07T10:00:13.640-0400
Updated
2014-04-02T15:27:27.097-0400
Versions
  1. 1.4
Fixed Versions
N/A
Component
  1. Reorderer

Description

The reorderer component should add the role of application. In some cases of the reorderer, there is already a role attached, the application role should wrap around this.

Comments

  • Justin Obara commented 2010-09-07T10:02:04.013-0400

    a11y issue

  • Justin Obara commented 2010-09-09T13:58:23.824-0400

    The grid reorderer already specifies a role of grid... should the nesting be

    <element role="application">
    <element role="grid"></element>
    </element>

    or

    <element role="grid">
    <element role="application"></element>
    </element>

  • Justin Obara commented 2010-09-13T10:59:19.690-0400

    Checked with Joseph. He was saying that technically if it has the role of grid, it shouldn't need the application role. However, he was saying to be careful we should use it, with application coming before grid. He also mentioned that we may not be using the grid role correctly, as fluid nature of the layout causes the elements to move between columns. The use of the role grid in the layout reorderer may make more sense.

  • Harris Wong commented 2010-12-08T17:32:12.417-0500

    Suggested Solution:
    Similar to the fix in Pager.js, we can add "application" to the container "role" attribute by adding the following to src/webapp/components/reorderer/js/Reorderer.js line 124
    thatReorderer.container.attr("role", "application");
    This fix will add application to the role in the markup within the reorderer's container. However, this change won't fix the current reorderers (including gridReorderer, layoutReorderer, ImageReorderer, listReorderer) because they already have their own roles set. Alternatively, we can overwrite these roles by moving this line to the end of the block, which is at line 500, but this will make the reorderer to lose its original role (ie. from "grid>>gridcell" to "application>>gridcell", grid is lost).
    To address this, Justin suggested to add another markup on top of the existing ones which will then allow us to include the application role (ie. "application>>grid>>gridcell") . This might result a change in the API and might not be ideal for users because they will have a unwanted second-container on top. Furthermore, styles and existing markup/layout might be affected.

  • Antranig Basman commented 2010-12-13T14:35:50.951-0500

    I found that this patch seemed more urgent as a result of the need on NVDA to put the AT into "focus mode" by pressing the "NVDA + Space" key without which the component is totally broken. However, on attempting to wrap the reorderer container in a div with role="application" I found that the behaviour instead became much worse, and that the AT dropped back into "browse mode" with every keypress making the component permanently unusable.

  • Michelle D'Souza commented 2010-12-23T15:41:05.200-0500

    Please check if this is done and either close it or put it into another release.

  • Justin Obara commented 2011-01-11T12:15:50.019-0500

    Based on the comments here we may want to think about abandoning this change.

  • Anastasia Cheetham commented 2014-04-02T15:27:27.096-0400

    We recommend that integrators using the reorderer add the application role to their application