accessibility: the mapping of addressbooks screen doesn't read well with screen readers for the blind
Created by: @MarcoZehe
When initially setting up CardBook, or when adding a remote address book, there is a screen where one can map a remote address book to a local one, and set some options. These are probably visually laid out like a table, with labels at the top of each column.
I am blind and use a screen reader to access Thunderbird. This table does not read very well when i tab through the options. The check boxes and buttons have no labels, the only correllation is visually done through the columns. I only hear "checkbox not checked" for the "Read-only" checkbox, for example.
To solve this problem:
- Give each label an ID if it doesn't already have one.
- Then, use the aria-labelledby attribute on each of the elements that get added for each address book item, and set the values according to each of the previously identified headers. So each of the read-only checkboxes would get the ID of the "Read-Only" label from the top set as its aria-labelledby. That way, these labels become labels for screen readers to read, and they will be localized automatically since this mechanism grabs the text from these labels.
This would help screen reader users tremendously navigating this particular screen. The advantage of using aria-labelledby here is that you only need to give the label one ID, and can reuse it as many times as you have address book items to add for the mapping. This attribute also does not change the visual layout in any way, so is very unintrusive.