Using Panels and Page Manager with your eyes closed

As the Drupal Core accessibility maintainer, I from time to time have people ask me about the accessibility of different contributed modules. Several times in the past I've been asked about the accessibility of Panels (where I assume the person means cTools Page Manager as well). Only this week have I had the need to use Panels and Page Manager. This is by no means a thorough review, but my observations as a screen-reader user.

I was definitely able to get around Page Manager, to clone and modify some node_view variants. The experience wasn't something that made me super happy, indeed I yelled (quite literally) at my computer several times.

The first major problem I observed was that the 'gear' icons (used to modify regions, to add content, and to modify panels) were read as 'link #'. I didn't go looking into the DOM, but this is generally symptom of an anchor without any text. Screen-reader users should know that the 'link #' prior to a region or panel is the gear that will expose the options for the proceeding object.

The second problem was that I wasn't able to rearrange panels by dragging and dropping. This is pretty obvious, as screen-reader users don't tend to use a mouse. In Drupal Core we mitigated the accessibility barrier caused by tabledrag UIs by implementing 'row weights'. The same thing wouldn't necessarily work here, but it might be possible to expose a weight for each panel in a region through the UI. Perhaps this already exists and I'm just not finding it.

I've filed the following bugs, and will work with the cTools module maintainer to improve the accessibility of the module.