The target size minimum for pointer inputs is at least 24 by 24 CSS pixels.

Introduction

Users with mobility impairments may have difficulty using elements if their target area is small. These users may have trouble with aiming or being able to keep a pointer steady. Larger target areas help these users interact with controls and elements.

How to Pass ‘Target Size (Minimum)’

Ensure that the target areas for all pointer inputs are at least 24 by 24 CSS pixels.

Exceptions

  • When there is at least 24 CSS pixels distance to any adjacent target.
  • When the target is a sentence or block of inline text.
  • When the presentation of a target that doesn’t meet the requirements is essential.

‘Target Size (Minimum) Tips

Making the spacing of targets at least 44 by 44 CSS pixels will pass 2.5.5 – Target Size at Level AAA.

Remember that pointers include both mouse control and touch control.

Although there is a minimum size, the larger the control the easier it is for everyone to use.

Consider making frequently used or important controls larger.

Be careful not to place controls near the edge of a screen as this may be more difficult to reach for some users.

See Also

Functionality that uses dragging movements can be achieved with a single pointer without dragging.

Introduction

Some users with mobility impairments may have difficulty using a dragging action precisely, either by mouse pointer or touch. Others may use an accessibly input mechanism, such as eye control, that makes dragging even more difficult or even impossible. 

These users need an alternative that enables them to complete the same input as dragging.

How to Pass ‘Dragging Movements’

Where a control uses dragging, provide an alternative.

Exceptions

Where dragging is essential. For example, creating art or playing a game where dragging is a design feature.

‘Dragging Movements’ Tips

A dragging movement is one where only the start and end points matter, the direction between them is not considered. 

A common example of a dragging control is one where the user drags elements into a certain order. This can also be achieved by a clickable up/down navigation or by typing numbered values next to elements.

See Also

‘Focus Appearance (Minimum)’ requires that focus indicators are clearly distinguishable when active.

Introduction

Focus indicators help users see which element on a page currently has focus, they are especially useful for people with low-vision, memory or mobility impairments. 

Where a focus indicator is used to show an element has current focus, it must be clearly visible and distinguishable. This goes beyond earlier guidance to ensure indicators are visible and have contrast between focused and unfocused states.

How to Pass ‘Focus Appearance (Minimum)’

When a component receives keyboard focus:

  • The focus indicator has a contrast ratio of at least 3:1 between focused and unfocused states;
  • The focus indicator has a contrast ratio of at least 3:1 against adjacent colours;
  • The element within focus isn’t hidden; and
  • The focus indicator area:
    • Has an outline that’s at least 1 CSS pixel thick; or
    • Has a shape that’s at least the area of a 4 CSS pixel-thick line;

‘Focus Appearance (Minimum)’ Tips

It may sound basic, but a thick black border around an element when it receives focus will often do the trick (unless your website has a very dark background colour of course).

You could also change the background colour of the whole element on focus.

If you’re worrying about pixel sizes, your indicator probably isn’t clear enough – keep it simple.

See Also

When hover or focus triggers content to appear, it is dismissible, hoverable and persistent.

Introduction

Additional content triggered by keyboard focus or mouse hover can cause accessibility issues for users with visual or cognitive impairments. Additional content can surprise users, prevent them completing a task or obscure content.

To overcome these issues, users must be able to understand when additional content appears and dismiss it.

How to Pass ‘Content on Hover or Focus’

Where keyboard focus or mouse hover triggers additional content to appear, the content must be:

  • Dismissible by the user without moving keyboard focus or mouse hover (for example by pressing the ‘escape’ key or closing on click);
  • Hoverable by the mouse pointer so the pointer can be moved over the content; and
  • Persistent until the user changes keyboard focus or mouse hover, dismisses the content or the content is no longer valid.

Exceptions

  • Where the content communicates an input error
  • Where the content doesn’t obscure other content
  • Where the additional content is controlled by the user, for example tooltips or sub-menus that appear on mouse hover which are controlled by web browser settings

‘Content on Hover or Focus’ Tips

Try not to use this type of content if you can avoid it – add your additional content to the page. 

See Also

Content and function retain meaning when users change elements of text spacing.

Introduction

Users with visual or cognitive impairments may wish to amend the default spacing around text content to make it easier for them to read and understand. When they do so, the content should remain visible in full.

How to Pass ‘Text Spacing’

Content and function remain intact when a user changes:

  • Line height to at least 1.5 times the font size;
  • Paragraph spacing to at least 2 times the font size;
  • Letter spacing to at least 0.12 times the font size; and
  • Word spacing to at least 0.16 times the font size.

Exceptions

  • Video captions
  • Image of text

‘Text Spacing’ Tips

For the most part, a website written in good HTML and CSS will comply, the key here is not having anything that prevents the user from making the changes to spacing. 

See Also

The contrast between user interface components, graphics and adjacent colours is at least 3:1.

Introduction

All users benefit from a good contrast between the components on your website and the colour around them.

Some users with visual impairments need a stronger contrast than others to fully distinguish and use components such as input fields, buttons and controls, so getting your colour choice right is essential.

How to Pass ‘Non-Text Contrast’

  • Ensure user controls have a contrast of at least 3:1 to the colour around them;
  • Where controls change colour on focus or use, ensure the colours used have a contrast of at least 3:1; and
  • Ensure all graphics (for example icons, graphs and charts) have a contrast of at least 3:1 to the colour around them.

Exceptions

  • Where a user interface component is visible but inactive (for example, a disabled button)
  • A graphic is not required for understanding (for example, a chart where labels give the same information as the coloured lines or a decorative graphic)
  • Brand logos
  • Representations of other things, such as a screenshot of a website or a heat map

‘Non-Text Contrast’ Tips

Remember the different states a component may have and ensure they all comply.

Where form fields use an indicator (for example for missing information), use a colour that meets the contrast criteria.

Where fields or controls use a border, ensure the border meets the criteria. 

For graphs, ensure each line or bar has a 3:1 contrast with both the background and the other lines or bars.

For pie charts, ensure each segment as a 3:1 contrast with both the background and the segment either side of it.

See Also

For ‘Reflow’, you must ensure all content retains meaning and function without scrolling in two dimensions. 

Introduction

Some users with visual impairments need to resize text to read it comfortably. 

When users enlarge content up to 400% of the default size, they should not have to scroll in their browser in more than one direction – horizontally and vertically.

How to Pass ‘Reflow’

  • Ensure vertical content doesn’t require a horizontal scroll at a width of 320 CSS pixels
  • ensure horizontal content doesn’t require a vertical scroll at a height of 256 CSS pixels

Exceptions

  • Where multi-directional scrolling is essential for meaning or function (for example images, maps, diagrams, games and components that require toolbars remain in view)
  • Complex data tables

‘Reflow’ Tips

Responsive web design, where content reflows to fit the user’s viewport, may already mean your website complies with this guideline.

It’s best not to use horizontal scrolling when writing in most languages, as we are accustomed to reading columns of text vertically. Reflow your content into a single vertical column when enlarged.

320 CSS pixels is the same as a default viewport of 1280 pixels enlarged 400%.

256 CSS pixels is the same is a default viewport of 1024 pixels enlarged 400%.

See Also

‘Identify Input Purpose’ requires the purpose of input fields to be programmatically determinable.

Introduction

All users, but particularly those with cognitive impairments, benefit from programmatically determinable input fields. These allow assistive technologies to understand the purpose of fields and present them in a preferred format to the user.

In addition, users with motor impairments benefit from autocomplete on forms by reducing the need for fine motor movement.

How to Pass ‘Identify Input Purpose’

  • Specify the intention of each input field with “input type=”type”
  • Use specific autocomplete values to allow the user’s browser to prefill fields where it already has the data

‘Identify Input Purpose’ Tips

There’s a full list of input purposes that need to be covered at www.w3.org/TR/WCAG22/#input-purposes

Use the most specific label for each field, for example “bday” rather than “date” if you want a user’s date of birth. While the field does want a date, its purpose is to collect the birthday. 

See Also

‘Orientation’ requires your website to adapt to portrait and landscape views.

Introduction

Some users have a preferred alignment (portrait or landscape) or physical requirements and need content to adapt to their preference. Others have visual impairments and may find one way round easier to use.

Most websites pass this guideline as they are responsive and adapt to the user’s chosen positioning.

How to Pass ‘Orientation’

  • All content retains meaning in either position.
  • All content retains function in either position.

‘Orientation’ Exceptions

When a single alignment is essential, for example:

  • A landscape image that would be too small to see in portrait mode
  • Where the width or height of one mode is necessary for its function 

See Also

Understanding Succession Criterion 1.3.3 (W3C)

Reduce the risk of input errors for sensitive data

All users make mistakes when inputting data (for example, into forms and checkouts). You should try to prevent errors occurring, especially when users are committing to legal or financial agreements, or otherwise sharing their data.

Users can make costly mistakes if they don’t fully understand the implications of their actions or can’t rectify their errors. Error prevention is all about reducing risk to your users by adding in confirmation stages to processes that pose a legal or financial risk.

What to do

To pass this guideline, you need to make sure that:

  • Legal commitments, financial transactions, test responses and changes to user controlled data are reversible; or
  • Legal commitments, financial transactions, test responses and changes to user controlled data are checked for input errors and the user is given a chance to correct any mistakes; or
  • Add a confirmation page to the data input submission process that summarises the input and the outcome, with an option to correct or discontinue. This page has an input field (for example, a confirm button or checkbox) that acts as confirmation of the submission.

Tips

  • Guideline 3.3.6 widens this guideline to include all types of data transfer, not just these high-cost transactions.
  • This guideline applies to deletion of data as well as submission.
  • Legal commitments are transactions where the user incurs a legally binding obligation or benefit.
  • User controlled data means things like name and address fields for a user’s account.
  • Provide a confirmation webpage that gives the user a chance to read a summary of everything they have input and positively confirm their actions (especially if inputs were spread over several pages in the process).
  • Validate forms inline and add an error message if input is incorrect. Be specific in explaining how to fix mistakes.

See also