LP1615714 Accessible names for Material Icons
authorStephanie Leary <stephanie.leary@equinoxoli.org>
Thu, 25 May 2023 18:24:09 +0000 (18:24 +0000)
committerStephanie Leary <stephanie.leary@equinoxoli.org>
Wed, 31 May 2023 18:44:48 +0000 (18:44 +0000)
commitb36f4fc52c768ab3255a35f82ce7b0a607176ed7
treef06a8dec7e84ba5f5234782b1a2010a1ae7b6329
parent5350c81388c51dac37ccebec649f18453c9e1aa3
LP1615714 Accessible names for Material Icons

Adds ARIA labels or hidden text, as appropriate, to ensure that Material
Icons are announced to screen reader users in a sensible way rather than
having the icon keyword read as if it were normal text.

In buttons containing an icon with no text, both ARIA labels and title
attributes are used so that the tooltip matches the button's accessible
name. This helps sighted users of dictation software identify the
button's name. The icon keyword is hidden from screen readers with the
aria-hidden attribute.

In buttons with both an icon and text, the icon keyword is hidden from
screen readers.

Where icons appeared in inline text rather than a button or link, a
visually-hidden span has been added to mirror the existing title
attribute (tooltip), unless the icon was purely decorative.

As part of this cleanup, several <a click()> elements were identified
that had not already been addressed in other bug reports related to
keyboard navigation support. These have been changed to <button>, and
button types have been specified throughout. Other small role and alt
text errors identified by the Axe linter have also been corrected.

Note that this branch does not include labels for  the grid flair icons
(bug 1818086) or the grid actions toolbar (bug 1833726), which are
being addressed separately.

Signed-off-by: Stephanie Leary <stephanie.leary@equinoxoli.org>
60 files changed:
Open-ILS/src/eg2/src/app/share/combobox/combobox.component.html
Open-ILS/src/eg2/src/app/share/date-select/date-select.component.html
Open-ILS/src/eg2/src/app/share/datetime-select/datetime-select.component.html
Open-ILS/src/eg2/src/app/share/eg-help-popover/eg-help-popover.component.html
Open-ILS/src/eg2/src/app/share/fm-editor/fm-editor.component.html
Open-ILS/src/eg2/src/app/share/tree/tree.component.css
Open-ILS/src/eg2/src/app/share/tree/tree.component.html
Open-ILS/src/eg2/src/app/staff/acq/lineitem/copies.component.html
Open-ILS/src/eg2/src/app/staff/acq/lineitem/copy-attrs.component.html
Open-ILS/src/eg2/src/app/staff/acq/lineitem/lineitem-list.component.html
Open-ILS/src/eg2/src/app/staff/acq/lineitem/notes.component.html
Open-ILS/src/eg2/src/app/staff/acq/po/notes.component.html
Open-ILS/src/eg2/src/app/staff/acq/po/summary.component.html
Open-ILS/src/eg2/src/app/staff/acq/provider/acq-provider-search-form.component.html
Open-ILS/src/eg2/src/app/staff/acq/provider/summary-pane.component.html
Open-ILS/src/eg2/src/app/staff/acq/related/related.component.html
Open-ILS/src/eg2/src/app/staff/acq/search/acq-search-form.component.html
Open-ILS/src/eg2/src/app/staff/admin/acq/distribution_formula/distribution-formula-edit-dialog.component.html
Open-ILS/src/eg2/src/app/staff/admin/acq/funds/fund-tags.component.html
Open-ILS/src/eg2/src/app/staff/admin/local/copy-loc-order/copy-loc-order.component.html
Open-ILS/src/eg2/src/app/staff/admin/local/course-reserves/course-associate-users.component.html
Open-ILS/src/eg2/src/app/staff/admin/local/course-reserves/course-page.component.html
Open-ILS/src/eg2/src/app/staff/admin/local/course-reserves/course-term-map.component.ts
Open-ILS/src/eg2/src/app/staff/admin/server/floating-group/edit-floating-group.component.html
Open-ILS/src/eg2/src/app/staff/admin/server/perm-group-tree.component.html
Open-ILS/src/eg2/src/app/staff/booking/create-reservation-dialog.component.html
Open-ILS/src/eg2/src/app/staff/booking/create-reservation.component.html
Open-ILS/src/eg2/src/app/staff/booking/manage-reservations.component.html
Open-ILS/src/eg2/src/app/staff/cat/authority/manage.component.html
Open-ILS/src/eg2/src/app/staff/cat/marcbatch/marcbatch.component.html
Open-ILS/src/eg2/src/app/staff/cat/vandelay/import.component.html
Open-ILS/src/eg2/src/app/staff/cat/vandelay/queue-items.component.html
Open-ILS/src/eg2/src/app/staff/cat/vandelay/queued-record-matches.component.html
Open-ILS/src/eg2/src/app/staff/cat/vandelay/queued-record.component.html
Open-ILS/src/eg2/src/app/staff/cat/vandelay/recent-imports.component.html
Open-ILS/src/eg2/src/app/staff/cat/volcopy/vol-edit.component.html
Open-ILS/src/eg2/src/app/staff/cat/volcopy/volcopy.component.html
Open-ILS/src/eg2/src/app/staff/catalog/basket-actions.component.html
Open-ILS/src/eg2/src/app/staff/catalog/hold/hold.component.html
Open-ILS/src/eg2/src/app/staff/catalog/prefs.component.html
Open-ILS/src/eg2/src/app/staff/catalog/record/holdings.component.html
Open-ILS/src/eg2/src/app/staff/catalog/record/pagination.component.html
Open-ILS/src/eg2/src/app/staff/catalog/result/record.component.html
Open-ILS/src/eg2/src/app/staff/catalog/search-form.component.html
Open-ILS/src/eg2/src/app/staff/circ/checkin/checkin.component.html
Open-ILS/src/eg2/src/app/staff/circ/patron/checkout.component.html
Open-ILS/src/eg2/src/app/staff/circ/patron/edit.component.html
Open-ILS/src/eg2/src/app/staff/circ/patron/patron.component.html
Open-ILS/src/eg2/src/app/staff/login.component.html
Open-ILS/src/eg2/src/app/staff/nav.component.html
Open-ILS/src/eg2/src/app/staff/reporter/simple/sr-field.component.html
Open-ILS/src/eg2/src/app/staff/sandbox/sandbox.component.html
Open-ILS/src/eg2/src/app/staff/share/admin-page/admin-page.component.html
Open-ILS/src/eg2/src/app/staff/share/bib-summary/bib-summary.component.html
Open-ILS/src/eg2/src/app/staff/share/holdings/batch-item-attr.component.html
Open-ILS/src/eg2/src/app/staff/share/holdings/copy-notes-edit/copy-notes-edit.component.html
Open-ILS/src/eg2/src/app/staff/share/marc-edit/rich-editor.component.html
Open-ILS/src/eg2/src/app/staff/share/patron/search.component.html
Open-ILS/src/eg2/src/app/staff/share/staff-banner.component.ts
Open-ILS/src/eg2/src/styles.css