Drupal 7 table drag accessibility

Back in February I wrote an article on Accessing Drupal 7 Table Drag with JAWS 10. The article explained a work around for how keyboard only users, specifically users of the JAWS screen-reader, can use the table drag interfaces in Drupal 7, though the work around applies to Drupal 6 as well. Table drag is a user interface that allows users to reorder the rows of a table by using the mouse, you can find this implemented on the Blocks, Menus, and other administrative interfaces within Drupal. Although the table drag interface in Drupal 6 and earlier development versions of Drupal 7 were technically accessible using the keyboard, there were no directions provided about how to use the interface with a keyboard, and for buffered screen-readers buffering needed to be disabled in order to interact with the interface.

In Drupal issue #448292 - Drag and Drop for table rows is not accessible to screen-reader users the Community came together to discuss and implement a solution to the accessibility barriers presented by the table drag interface. Since June of this year the solution has been implemented in Drupal 7 development versions.

The solution that was finally decided upon was to display a "Show row weights" link at the top right corner of any table implementing table drag. Clicking on this link will expose a "Weight" column in the table. Users can then use a weighted ordering system to arrange the rows of the table. Note: that weighted ordering is actually what the drag and drop interface performs, but when row weights are hidden table drag takes care of assigning the weights automatically.

We believe that through implementing this solution the ability to rearrange table rows has been made accessible to all Drupal 7 users. If you believe that an accessibility barrier still exists, or if you experience a barrier yourself, please file an issue in the Drupal issue tracker. Alternatively, feel free to contact me to report the issue.