* vpat: add more aria-labels to preferences btns
Per the VPAT review. "Add"/"Remove" instead of +/- as those
are not descriptive enough
* vpat: wrap radiogroup in a groupbox with label
That is so that the "Color scheme" label is not announced
as a description, which requires a specific setting
enabled in JAWS.
* vpat: link itemPaneHeader prefs labels to menus
- Replace flex attribute with flex-shrink and flex-grow style
to allow elements to be resized by splitter and window resizing.
- Set the max-width on collections pane to prevent it from pushing
other panes outside window border
- Set the min-width on window according to the size of both library
and reader tabs
- Use stacked layout when window width is small
fix: #4669
We display "Loading Cited items" while fetching fields as an
additional header before "My Library". Navigating the item list before
this change while the double-headers were displayed did not work with
the keyboard
In a new scaffold.ftl file.
Vpat 43 also indicates that the read-only state of the text field
does not get announced - it is a VoiceOver-specific issue on
Firefox, so it is not addressed here as it should be fixed
globally.
resolve: #4611
Try to avoid race condition in dense render calls.
We used to notify the preview to update
after all other renders are done,
which can cause unexpected race condition.
- explicitly add aria-labels to groupbox and vbox
sections of the settings. It's required for voiceover
to announce that label when focus enters the group.
It's not needed for NVDA and JAWS as they recognize
most h2 labels as labels of grouppings.
- add all relevant additionl text for the section
as aria-description/aria-describedby so it is
announced after the section's name when focus enters it
- add role="group" to vbox sections, since vbox
does not have any semantics
- skip tabstop on scrollable "#prefs-content" container
since it is not required
- vpat_7: When a popup is showing, mark menuseparators with
role="presentation" to clear whatever semantics a separator
has. It prevents the screen readers from counting it as
an interactable element while announcing the index of
a menuitem within the popup. It also makes the screen readers
count items across all sections, instead of stopping at
the first separator.
- vpat_14: When menupopup is hiding, for a moment, mark it
as aria-hidden. It forces VoiceOver to move cursor back to
the previously focused element. Otherwise, it is not aware that
the popup went away, the cursor gets stuck inside of the
invisible menu, no elements will be announced until the screen
readers is reloaded.