Open Bug 1823856 Opened 1 year ago Updated 5 months ago

Provide information for screen readers about moving message list columns via their headers (`Alt+Arrow-Right/Left`, perhaps new location after move)

Categories

(Thunderbird :: Folder and Message Lists, defect, P2)

Thunderbird 112

Tracking

(Accessibility Severity:s2, thunderbird_esr115? affected, thunderbird118? affected, thunderbird119? affected)

Accessibility Severity s2
Tracking Status
thunderbird_esr115 ? affected
thunderbird118 ? affected
thunderbird119 ? affected

People

(Reporter: ali-savas, Unassigned)

References

(Blocks 1 open bug)

Details

(Keywords: access, design-needed, triaged, Whiteboard: [Supernova3p])

No description provided.

Description

In previous versions of Thunderbird, it was not possible for screen reader users to re-sort the columns so that, for example, the sender is displayed first and then the subject. If you wanted to reorder the columns, you could only do it with a mouse.

Starting with Thunderbird "Supernova" the button to display different columns can be reached with the keyboard. This is a step in the right direction.

Now that everything is developed from scratch, there should be a way for screen readers to rearrange and customize the columns as the user needs. For this a dialog should be created where the user gets the available columns in a list and can reorder them with the help of buttons like "Up" and "Down".

Keywords: access

I think this can already be done but it's not discoverable easily.
Steps:

  • Locate the button to display different columns
  • Press shift+tab to move to the sortable header button you wish to move to a different position.
  • Press either alt+left or alt+right to move the respective header to the given direction depending on the keys you have just pressed.

Thank you very much for the individual steps, I did not even know that this is possible. However, this approach is not a good solution for non-experienced screen reader users. Hence my suggestion.

Hello Ali, thank you for suggesting improvements to the accessibility of the message list column headers for reordering columns.
I don't think we're going to create an extra dialog for this, which isn't really needed.

The main problem seems to be that we're not communicating the column-move-shortcuts to screen readers.
I think the following would make this more accessible for screen readers:

  • When a message list column header gets keyboard focus, also read out the keyboard shortcuts for moving the column (e.g. "Press Alt+Arrow-Right or Alt+Arrow-Left to move this column." ).
  • After moving a column, perhaps report to screen readers the new position of the column somehow (e.g. "From column is now between Subject column and Starred column").

Elizabeth, is this feasible? Thoughts?

Blocks: sn-msglist
Severity: -- → S3
Status: UNCONFIRMED → NEW
Type: enhancement → defect
Ever confirmed: true
Flags: needinfo?(elizabeth)
Summary: Accessibility: creating a way to sort header columns for screen readers → Provide information for screen readers about moving message list columns via their headers (`Alt+Arrow-Right/Left`, perhaps new location after move)
Whiteboard: [supernova]

A couple of fly by suggestions:

Communicate the order of columns
We might achieve that by marking the table header with a role="region" and aria-live="polite".
Doing so will let screen readers handle and communicate the content change whenever the columns order changes.

Communicate the ability to reorder columns
We shouldn't communicate the shortcuts with verbosity at every column focus, as that becomes overwhelming and unnecessary after even the first one.
We can add the aria-keyshortcuts to those focusable items so assistive technologies can read those, but the general description (eg. Press Enter to sort, Alt+Arrow-Right or Alt+Arrow-Left to reorder columns) should be read only once, maybe via an aria-description read only once when the user enters the table header the first time.
This is a bit tricky.

Bonus
Add aria-sort to those th elements so we also communicate the sorting order.

In general we should never hard code or manually hijack the assistive technology communications, and always let the semantic attributes do the work for us.

Assignee: nobody → elizabeth
Status: NEW → ASSIGNED
Flags: needinfo?(elizabeth)

I will look into this more and see what changes we can make. Thank you!

Flags: needinfo?(elizabeth)
Whiteboard: [supernova] → [Supernova3p]

Unassigning myself for now. I will test this and provide feedback.

Assignee: elizabeth → nobody
Status: ASSIGNED → NEW
Flags: needinfo?(elizabeth)
Flags: needinfo?(elizabeth)
Assignee: nobody → elizabeth
Status: NEW → ASSIGNED
Flags: needinfo?(elizabeth)
Accessibility Severity: --- → s3
Priority: -- → P3

Note: I edited this message to I updated the information about what the column reads.

As of right now, if a user uses Alt + Arrow (Right or Left) to move the column order, the screen reader announces a number like "Column 3." This changes to "Column 2" or "Column 4" depending on which direction the column is moved towards. That's enough information to convey that the column is moving.

This could possibly be improved by adding "Column 3 of 9" or something like that to help the user hear the number of columns.

We need documentation about how to navigate the message list with a keyboard and with screen readers, which I will look into adding.

We also need in-context information/documentation. Similar to the "select columns to display" button, we could have a keyboard navigable button that opens instructions/quick shortcuts for using the columns. There isn't enough information right now. This information would only be read if a user selects that button and wants more information.

It's non-obvious right now that columns can be moved and how they can be moved.

I had another user report that they kept hearing threads information and wanted to hide the threads button, not realizing that what was going on was they were entering the entire header row. You can't hide the header row. Making it clear that the user is in the message list header row without specifically saying could also be helpful. But having that in-context documentation will save people time and frustration.

This can definitely be improved.

Priority: P3 → P2

(In reply to Elizabeth Mitchell from comment #8)

As of right now, if a user uses Alt + Arrow (Right or Left) to move the column order, the screen reader announces a number like "Column 3." This changes to "Column 2" or "Column 4" depending on which direction the column is moved towards. That's enough information to convey that the column is moving.

Which screen reader did you test with? With JAWS I don't get any feedback when moving the columns.

(In reply to Elizabeth Mitchell from comment #8)

As of right now, if a user uses Alt + Arrow (Right or Left) to move the column order, the screen reader announces a number like "Column 3." This changes to "Column 2" or "Column 4" depending on which direction the column is moved towards. That's enough information to convey that the column is moving.

No, this information is definitely not enough for me as a blind person. Apart from the fact that JAWS does not provide me with the above information, it would be useful to know where exactly the column to be moved is located.

For example, it should be announced: "Column 'Subject' moved before 'Recipient'" or "Column 'Recipient' moved after 'Subject'". If you like, it could also be "Column 'Subject' between 'Recipient' and 'Attachment'" or something like that.

(In reply to Ali Savas from comment #10)

(In reply to Elizabeth Mitchell from comment #8)

As of right now, if a user uses Alt + Arrow (Right or Left) to move the column order, the screen reader announces a number like "Column 3." This changes to "Column 2" or "Column 4" depending on which direction the column is moved towards. That's enough information to convey that the column is moving.

No, this information is definitely not enough for me as a blind person. Apart from the fact that JAWS does not provide me with the above information, it would be useful to know where exactly the column to be moved is located.

For example, it should be announced: "Column 'Subject' moved before 'Recipient'" or "Column 'Recipient' moved after 'Subject'". If you like, it could also be "Column 'Subject' between 'Recipient' and 'Attachment'" or something like that.

Would "Column 1 of 9" be enough information or it is more important to know where the column is in relation to other columns like "Column 'Subject' moved before 'Recipient'"? Thank you!

I tested with NVDA. That is good to know that JAWS is not providing information about the location of the item. Thank you!

Severity: S3 → S2
Accessibility Severity: s3 → s2
Keywords: design-needed
Priority: P2 → P1
Priority: P1 → P2
Keywords: triaged

This requires planning and design.

I'm un-assigning myself for now to make it clear I am not actively working on this at this time.

This is important work. There are higher priority items currently in progress.

Assignee: elizabeth → nobody
Status: ASSIGNED → NEW
You need to log in before you can comment on or make changes to this bug.