Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Accessibility notes #294

Open
22 of 52 tasks
obr42 opened this issue Dec 22, 2022 · 0 comments
Open
22 of 52 tasks

Accessibility notes #294

obr42 opened this issue Dec 22, 2022 · 0 comments
Assignees
Labels

Comments

@obr42
Copy link
Collaborator

obr42 commented Dec 22, 2022

Notes on using @axe-core/react tooling to meet WCAG level AA (mid range) compliance - alerts that still exist in the React app, and 18F Checklist for WCAG 2.0 AA compliance

Global Components

Tables

Most pages contain a table. These findings are common across all/most tables.

Snackbar Alerts

Inline Alerts

  • none

Specific Pages

Nav Drawer/App bar

(these "show up" on every page as the nav bar is always present, hidden/closed or not)

Systems Index

Command Index

Command View

  • Heading levels should only increase by one
    • RJSF styling for 508 compliance #302 Its the labels for the rjsf form that have a divider bar under them - can't figure out how to apply a class name override the docs are not helpful
  • Elements must have sufficient color contrast
  • Buttons must have discernible text
  • Keyboard Navigation

Requests Index

  • Table alerts
  • Form elements must have labels
  • Elements must have sufficient color contrast
  • Keyboard Navigation
    • Difficult to use the date picker modal, but can type in a date directly but it won't apply unless you type in a full date - time - AM/PM

Notes:

Request View

  • Elements must have sufficient color contrast
    • Links - see color check note
    • Request View page toggle #305 Toggle for Formatted - The alert is for the text, which passes. However the toggle icon itself currently does NOT pass color contrast requirements for either theme, very difficult to style this Switch component beyond the props provided by MUI which only give color options of success, info, error, primary etc which none are contrast enough to our chosen theme colors. Could override the actual color itself in the theme settings I believe, but would affect all of the UI not just the switch (which may be fine?)
    • Tooltip - see tooltip check note
    • JSON card - see JSON card note
  • Keyboard Navigation
  • Request view loading button #361 Loading button (inplace of Refresh) is difficult to read because of contrast but that may be ok

Notes:

Jobs Index (Scheduler)

Notes:

  • Dropzone modal bug #308 After making necessary header modifications, clicking Import modal reverts styling on main page. Seems like this is a bug in the material-ui-dropzone code. The repo seems abandoned. Try switching to a forked repo that is supposed to support MUI5 (which we use).

Choose System (Create Job)

Notes:

Choose Command (Create Job)

  • Table alerts
  • Elements must have sufficient color contrast

Notes:

Create Job form page

  • Elements must have sufficient color contrast
  • Heading levels should only increase by one
    • RJSF styling for 508 compliance #302 Its the labels for the rjsf form that have a divider bar under them - can't figure out how to apply a class name override the docs are not helpful
  • All page content should be contained by landmarks
    • Any drop-down selection, ex for Trigger Type

Job View

Update Job

  • Elements must have sufficient color contrast
  • All page content should be contained by landmarks
    • Any drop-down selection, ex for Trigger Type
  • Heading levels should only increase by one
    • RJSF styling for 508 compliance #302 Its the labels for the rjsf form that have a divider bar under them - can't figure out how to apply a class name override the docs are not helpful

Notes:

Admin Gardens

  • None

Notes:

Create Garden modal

  • Elements must have sufficient color contrast
  • All page content should be contained by landmarks
    • Dark mode only. All form components, does not alert for modal itself or Add Header and Create Garden buttons.
    • Tooltip - see tooltip check note

Notes:

Garden Info View

  • Elements must have sufficient color contrast

Notes:

Admin Systems

Notes:

  • System Admin card ellipsis #315 System card title when truncated, the ellipsis is the wrong color (can't even see it in light mode because it is black on dark blue)

Admin Blocklist

Add command modal

Login

  • Elements must have sufficient color contrast

Notes:

Admin Users Index

Notes:

Sync Users Modal

Notes:

  • Sync Users modal table #319 Table has an extra row - probably just needs disable filters flag (... turns out there is no flag to turn it off, it only turns off if Global filter is turned on)

Add User Modal

  • Elements must have sufficient color contrast

User View

  • Table alerts
  • Elements must have sufficient color contrast
  • IDs used in ARIA and labels must be unique
  • All page content should be contained by landmarks
    • Select filter menu options

Notes

Manually checked color contrast

Colors were manually checked using color contrast analyzer and verified to meet level AA contrast ratios, but the color choice does not meet level AAA small text contrast ratio (generally meets AAA large text ratio). The @axe/core-react alert is still going off for some reason despite axe docs saying AAA is disabled by default. Alert may also be due to opacity levels or for some other reason that requires manual checking (which is now done)

Tooltip reporting inconsistencies

The tooltip sometimes alerts, sometimes does not. Sometimes alert is for colors which do not meet any WCAG contrast ratios, but are not colors we have explicitly set for the tooltip so unsure where they come from. Maybe the reporter is catching transition in/out color?

Additionally, sometimes there is an alert for "All page content should be contained by landmarks" indicating that the tooltip is not inside a landmark. Unsure that this is fixable as the tool-tip rendering is handled by MUI.

JSON Cards

The type display that is tiny font of int, string, etc needs to be a darker shade than it currently is presenting since it is so small. Even with changes on this branch, the font does not pass. This color is set as an offset from the theme color for the actual data value that we set and provided to RJV. The only way we could make this color pass is to darken the overall color - but then it darkens/dulls out the overall presentation as the color is linked to the larger text. Some alerts may be because it is indicating manual check required due to opacity set by RJV on elements

Date-time-picker widget

For some reason labels are flagged as wrong/missing. Adding aria-label or aria-labelledby adds "Elements must only use allowed ARIA attributes" flag but doesn't remove the "Form elements must have labels" flag. Can remove flags by adding label (and InputLabelProps={{shrink: true}} to make the label stay superscript-ed) but can't find a way to then hide the label and it is incompatible with existing ticket to remove extra space around the filter inputs to have the label showing. Adding InputLabelProps={{'aria-label': 'Start date'}} did not remove the flag either.

Other

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant