From 14d942d4e3955f11597613f3877bce48b71e36e7 Mon Sep 17 00:00:00 2001 From: Mike Gower Date: Sun, 27 Mar 2022 22:32:41 -0700 Subject: [PATCH] rewrite with some illustrations This is an attempt to see what the use of "encloses" does to the Understanding document. All the images are temporary (since they are poorly screen captured pngs) --- .../22/focus-appearance-minimum.html | 55 ++++++++++++------ ...focus-indicator-star-with-abutted-line.png | Bin 0 -> 40326 bytes .../img/focus-indicator-star-with-focus.png | Bin 0 -> 7578 bytes .../focus-indicator-star-with-light-focus.png | Bin 0 -> 36761 bytes .../focus-indicator-star-without-focus.png | Bin 0 -> 8616 bytes 5 files changed, 36 insertions(+), 19 deletions(-) create mode 100644 understanding/22/img/focus-indicator-star-with-abutted-line.png create mode 100644 understanding/22/img/focus-indicator-star-with-focus.png create mode 100644 understanding/22/img/focus-indicator-star-with-light-focus.png create mode 100644 understanding/22/img/focus-indicator-star-without-focus.png diff --git a/understanding/22/focus-appearance-minimum.html b/understanding/22/focus-appearance-minimum.html index b59db5f685..c54f9861fd 100644 --- a/understanding/22/focus-appearance-minimum.html +++ b/understanding/22/focus-appearance-minimum.html @@ -22,7 +22,7 @@

Focus Appearance (Minimum) Success Criterion text

When a user interface components has keyboard focus, the focus indicator:

@@ -48,11 +48,11 @@

Focus Appearance (Minimum) Success Criterion text

minimum bounding box
- the smallest enclosing box within which all the points of a shape lie. Where a component consists of disconnected parts, such as a link that wraps onto multiple lines, each part is considered to have its own bounding box. + the smallest enclosing non-rotated rectangle within which all the points of a shape lie. Where a component consists of disconnected parts, such as a link that wraps onto multiple lines, each part is considered to have its own bounding box.
-
encompasses
+
encloses
- Solidly bounds or surrounds, or includes the whole of + Solidly bounds or surrounds
@@ -63,43 +63,55 @@

Focus Appearance (Minimum) Success Criterion text

Intent of Focus Appearance (Minimum)

-

The purpose of this Success Criterion is to ensure a keyboard focus indicator is clearly visible and discernible. This Success Criterion is closely related to 2.4.7 Focus Visible and 1.4.11 Non-text Contrast. Where Focus Visible merely requires a visible focus indicator, 2.4.11 defines a minimum level of visibility. Where Non-text Contrast requires a component to have adequate contrast against the background in each of its states, 2.4.11 requires sufficient contrast between the focused and unfocused states.

+

The purpose of this Success Criterion is to ensure a keyboard focus indicator is clearly visible and discernible. This Success Criterion is closely related to 2.4.7 Focus Visible and 1.4.11 Non-text Contrast. Where Focus Visible merely requires a visible focus indicator, 2.4.11 defines a minimum level of visibility. Where Non-text Contrast requires a component to have adequate contrast against the background in each of its states, 2.4.11 requires sufficient contrast for the focus indicator itself.

For sighted people with mobility impairments who use a keyboard-like device (such as a switch or voice input), knowing the current point of focus is very important. Visible focus must also meet the needs of users with low vision, who may also be keyboard-only users.

-

A keyboard focus indicator can take different forms. This Success Criterion lists three primary considerations that can be met to consistently acheive a sufficient focus appearance. It then provides a list of exceptions that can be used to assess at a focus indicator which may be less optimal for some users but still achieves a minimum level of focus appearance. This document will elaborate on each of the three primary considerations, then address the exceptions. +

A keyboard focus indicator can take different forms. This Success Criterion lists three primary considerations that can be met to consistently acheive a sufficient focus appearance. It then provides a list of exceptions for a focus indicator which may be less optimal for some users but still achieves a minimum level of focus appearance. This Understanding document will elaborate on each of the three primary considerations, then address the exceptions. -

Encompassing

-

The first of the primary bullets states that the focus indicator "encompasses" the user interface component. This is defined to mean to "solidly bound or surround, or include the whole of." Each of these phrases describes a fairly established method of invoking a focus indicator, as illustrated in the following series of images of a set of ratings stars. In all examples, the same three stars have already been selected, and focus is on the second star.

+

Encloses

+

The first of the primary bullets states that the focus indicator "encloses" the user interface component. This is defined to mean "solidly bounds or surrounds." Both "bounds" and "surrounds" describe optimal and established ways of showing focus, as illustrated in the following series of images of a set of ratings stars. In all examples, the same three stars have already been selected, and focus is on the second star.

Three of 5 stars are selected with a solid-line rectangular focus indicator around the second -
Pass: a solidly bound focus rectangle encompasses the second of 5 stars.
+
Passes: a solidly bound focus rectangle encloses the second of 5 stars.
Three of 5 stars are selected with a solid-line focus indicator outlining the second -
Pass: a solid outline indicator surrounds the second of 5 stars.
+
Passes: a solid outline indicator surrounds the second of 5 stars.
-
- Three of 5 stars are selected with the whole second star altered in color to indicate focus -
Pass: a color change encompasses the whole second star to indicate focus.
-
-

Where the indicator does not "solidly" bound or surround the component, as with a dashed or dotted line, it cannot meet this primary consideration. However, a non-solid line can still pass if it meets the wording of the exceptions (discussed in more detail under Exceptions).

Three of 5 stars are selected with the whole second star outlined with a 1 pixel thick dashed line -
Fail: the dashed outline does not "solidly bound" the second star and does not meet the exception language.
+
Fails: the dashed outline does not "solidly bound" the second star and does not meet the exception language.
Three of 5 stars are selected with the whole second star outlined with a 2 pixel thick dashed line -
Pass: the dashed outline does not "solidly bound" the second star; however, the dashed line meets the area requirements of the exception langauge.
+
Passes: the dashed outline does not "solidly bound" the second star; however, the dashed line meets the area requirements of the exception langauge.
-

Indicator contrasts between its focused and unfocused states

> -

The second of the primary bullets states that the...

+

Indicator contrasts between its focused and unfocused states

+ +

The second of the primary bullets states that the indicator "has a contrast ratio of at least 3:1 between its pixels in the focused and unfocused states." The following illustration shows a *minimally* contrasting focus indicator, where some of the white pixels making up the page background have been altered to a mid-grey, which contrast 3:1 with the original white. Authors are encouraged to exceed the minimum focus appearance. For instance, the dark blue line in Figure 1 is much more visible.

+ +
+ Two orange-yellow five-pointed stars, one with a mid-gray focus +
A button in the shape of a star, with a gray focus indicator that contrasts 3:1 with the white page background.
+
+ +

Contrasts at least 3:1 against adjacent colors

+ +The focus indicator must contrast against the pixels on either side. Where the indicator does not directly abut the component or any other object, it simply needs to contrast at least 3:1 against the page background. However, if the indicator abuts another shape, it must contrast 3:1 against this as well. [to be continued] + +
+ Three of 5 stars are selected with the whole second star outlined with a 1px thick line directly next to the star edge +
ALASTAIR, I'm a bit concerned about this...
+
+ +---

a requirement to make it clearly distinguishable. For example, using a thick outline that contrasts with the background behind the component would pass this criterion.

@@ -173,6 +185,11 @@

Minimum area

The bigger the visible change when an item receives focus, the easier it is for someone to see. Authors are encouraged to make the change as significant as possible, for example, by designing a thick border around the element.

+ +
+ Three of 5 stars are selected with the whole second star altered in color to indicate focus +
Pass: a color change applies to the whole second star to indicate focus. Clearly, the area is sufficient.
+

The Success Criterion defines a minimum area using a calculation for perimeter, and a secondary minimum based on the shortest side of the control. It does not restrict where the indicators are placed, it is just providing two methods to calculate a minimum area.

diff --git a/understanding/22/img/focus-indicator-star-with-abutted-line.png b/understanding/22/img/focus-indicator-star-with-abutted-line.png new file mode 100644 index 0000000000000000000000000000000000000000..f466e7cfcf1456cce53650857deb9d754664d8b6 GIT binary patch literal 40326 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