Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Current »

Quick Overviews on Common Topics

1. Ensure colors have enough contrast

Use the Paragon palette. These are the top issues it handles for you:

  • Text should be legible

  • Interactive things should be noticeable (stand off background)

    • 3:1 contrast should exist in all states of a component.

  • Don’t Rely on Color Alone When Providing Important Information

    • There are millions of “color blind” people

    • There are other millions of people who have other vision impairments that affect color perception

  • Consider whether a Dark and Light version will ever be needed

    • We don’t have a Dark Mode, but having Light and Dark pairs is a step in that direction.

  • Avoid embedding text in images

    • The user can’t use their own tools to remap the colors for better contrast

 Details

Legible text

  • 4.5:1 contrast minimum for normal text

  • 3:1 for 2em text

  • 3:1 for 1.5em text that is also bold

  • Don’t use brand red on a dark (elm) background unless it is large.

Contrast checking tools:

https://webaim.org/resources/contrastchecker/

https://webaim.org/resources/linkcontrastchecker/

Frequently, in Chrome’s Dev Tools, you can just click on a color in the CSS panel to get the contrast value vs. background.

Interactive things should be noticeable (stand off background). This means the edges generally need a minimum 3:1 luminance contrast vs. background.

  • Remember that background won’t always be white or black

  • Tinted backgrounds don’t cost much in contrast but do move the bar for success

Remember to design all the states. States you should think about when designing:

  • default

  • hover

  • selected

  • unselected

  • error

  • focus

  • active (list controls, interactive tables)

  • 3:1 contrast not necessary in disabled state (they can effectively disappear)

  • Beware inadvertently using Disabled styling when
    you intended Inactive or Unselected

Don’t Rely on Color Alone When Providing Important Information

Reversing foreground and background colors is an exception here.

Consider whether a Dark and Light version will ever be needed

Avoid embedding text in images

The user can’t use their own tools to remap the colors for better contrast


2. Text should flow

  • Change viewport width up to 1920 and down to 320. It should still be readable.

  • Line length is a usability issue but affects some people who have reading disabilities

3. Consider the size of the viewport in your design

  • A lot of low-vision people use relatively small (~1280px max) screens because they have lower usable peripheral vision. 

  • Full-screen magnification is different that browser zoom.  Full screen magnification means things may be happening out of the zoom rect and not noticed.

  • Setting focus to something (through user actions or programmatically) will automatically move the zoom rect to show the newly-focused thing.  

  • Make Your Design Responsive (WCAG 2.1 requirement) unless something just won’t fit.

4. Ensure the heading (h1 - h6) structure makes sense

  • Make the structure make sense

  • Be (generally) consistent within levels

  • Generally there should be an H1

  • You can skip levels visually but probably not semantically

  • Absolutely avoid 

5. Ensure links are discernible

  • Need to be discernible but don’t have special styling requirements when standing alone.

  • Special styling requirements vs. peer text when inline.

  • Text of the link should stand alone / make sense out of context.

6. Forms

Paragon form components handle these requirements for you.

  • Include Textual Labels for Inputs and Form Elements

  • Don’t rely on placeholders

  • Don’t rely on title attribute tooltips

  • Use title attribute tooltips only where they are needed for sighted-user usability.

7. Images

May or may not need alternative text. The way we have Paragon configured, you shouldn’t have to think about regular SVGs. If you’re making decorative SVGs, they can have empty-string text alternatives if they aren’t conveying needed info (helps with efficiency of getting through the page). If they have needed info, you’ll need to add a text alternative.

8. Support Keyboard Navigation for everything

  • Try to use standard keyboard methods to match expectations from role & visual appearance

9. Ensure animations don’t introduce usability issues

  • Short ones are sometimes helpful 

    • More noticeable 

    • reassuring that user action was received

  • Generally it’s better if things (an item or surrounding items) don’t bounce (from CSS layout redraw) as you interact with something

10. Other stuff

  • Focus management is mostly taken care of for you in Paragon

  • There should probably (WCAG 2.2 candidate) be a way to get to help from every page

  • Most pages should have SkipNav links

  • Some pages could have extra jump-to-* links

  • Some interactive things could use dedicated hotkeys

  • Timeouts are problematic

  • Provide Controls for Auto-Playing Media Content

  • Things shouldn’t flash between 2x and 59x/second

  • Page titles and URL should change when the main header changes

  • If multiple tabs are open, you should be able to find your way back to the right tab based on the tab / page title.


  • No labels