From 63f784ab3d734ef5c641ccd4421de9d6c2975a38 Mon Sep 17 00:00:00 2001 From: Alastair Campbell Date: Thu, 6 Dec 2018 10:25:03 +0000 Subject: [PATCH 01/17] V minor indentation updates. --- understanding/21/non-text-contrast.html | 44 ++++++++++++------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/understanding/21/non-text-contrast.html b/understanding/21/non-text-contrast.html index 1c2d9b8afe..938b7fe0c1 100644 --- a/understanding/21/non-text-contrast.html +++ b/understanding/21/non-text-contrast.html @@ -20,9 +20,9 @@

Active User Interface Components

For active controls on the page, such as buttons and form fields, any visual information provided that is necessary for a user to identify that a control exists and how to operate it must have sufficient contrast with the adjacent background. Also, any visual effects implemented which are necessary to indicate state, such as whether a component is selected or focused, must also ensure that the information used to identify the control in that state has a minimum 3:1 contrast ratio.

-

In cases where the state of a user interface component is apparent without relying on visual information, this Success Criterion does not require that visual information meet the 3:1 contrast ratio. For example, the Active state on a link does not rely on the visual information because the user is actively clicking on the component at the same time.

+

In cases where the state of a user interface component is apparent without relying on visual information, this Success Criterion does not require that visual information meet the 3:1 contrast ratio. For example, the Active state on a link does not rely on the visual information because the user is actively clicking on the component at the same time.

-
+
Two buttons on a white background. The first has a blue border to indicate its boundary, white internal background and blue text. The second adds a thick blue-grey outer border to show focus.
An active control showing the visual boundary by default (color of #007bff on white), and the focus indicator
@@ -44,7 +44,7 @@

Active User Interface Components

An active control with a visual boundary, and a focus (or other) state that is highlighted with a contrasting change of color
-
+

Active User Interface Component Examples

For designing focus indicators, selection indicators and user interface components that need to be perceived clearly, the following are examples that have sufficient contrast.

@@ -254,20 +254,20 @@

Infographics

-

Essential Exception

+

Essential Exception

-

Graphical objects do not have to meet the contrast requirements when "a particular presentation of graphics is essential to the information being conveyed". The Essential exception is intended to apply when there is no way of presenting the graphic with sufficient contrast without undermining the meaning. For example:

-
    -
  • Logotypes and flags: The brand logo of an organization or product is the representation of that organization and therefore exempt. Flags may not be identifiable if the colors are changed to have sufficient contrast.
  • -
  • Sensory: There is no requirement to change pictures of real life scenes such as photos of people or scenery.
  • -
  • Representing other things: If you cannot represent the graphic in any other way, it is essential. Examples include: - -
  • -
+

Graphical objects do not have to meet the contrast requirements when "a particular presentation of graphics is essential to the information being conveyed". The Essential exception is intended to apply when there is no way of presenting the graphic with sufficient contrast without undermining the meaning. For example:

+
    +
  • Logotypes and flags: The brand logo of an organization or product is the representation of that organization and therefore exempt. Flags may not be identifiable if the colors are changed to have sufficient contrast.
  • +
  • Sensory: There is no requirement to change pictures of real life scenes such as photos of people or scenery.
  • +
  • Representing other things: If you cannot represent the graphic in any other way, it is essential. Examples include: + +
  • +
@@ -364,13 +364,13 @@

Techniques

Sufficient

-

User Interface Component contrast

- +

User Interface Component contrast

+
-

Graphics with sufficient contrast

+

Graphics with sufficient contrast

-
+
From 1d9a86f3128b1167b66f8fb63644d6d7b26b2daa Mon Sep 17 00:00:00 2001 From: Alastair Campbell Date: Thu, 6 Dec 2018 12:42:33 +0000 Subject: [PATCH 02/17] Updates to address various issues. Will create a survey for this change, Dec 7th ish. --- understanding/21/non-text-contrast.html | 40 +++++++++++++++---------- 1 file changed, 24 insertions(+), 16 deletions(-) diff --git a/understanding/21/non-text-contrast.html b/understanding/21/non-text-contrast.html index 938b7fe0c1..c0435e24dd 100644 --- a/understanding/21/non-text-contrast.html +++ b/understanding/21/non-text-contrast.html @@ -3,7 +3,7 @@ Understanding Non-text Contrast - +

Understanding Non-text Contrast

@@ -20,30 +20,37 @@

Active User Interface Components

For active controls on the page, such as buttons and form fields, any visual information provided that is necessary for a user to identify that a control exists and how to operate it must have sufficient contrast with the adjacent background. Also, any visual effects implemented which are necessary to indicate state, such as whether a component is selected or focused, must also ensure that the information used to identify the control in that state has a minimum 3:1 contrast ratio.

-

In cases where the state of a user interface component is apparent without relying on visual information, this Success Criterion does not require that visual information meet the 3:1 contrast ratio. For example, the Active state on a link does not rely on the visual information because the user is actively clicking on the component at the same time.

+

This Success Criterion does not require that all states are differentiated within the component. With the exception of focus indicators, links and buttons are not required to differentiate states such as hover. Controls which convey the value of an input, such as checkboxes, sliders, and radio buttons must meet the contrast requirement for those states. For example, the tick in a checkbox must meet the contrast requirement.

-
- - Two buttons on a white background. The first has a blue border to indicate its boundary, white internal background and blue text. The second adds a thick blue-grey outer border to show focus. -
An active control showing the visual boundary by default (color of #007bff on white), and the focus indicator
-
+

Boundaries

This success criteria does not require that controls have a visual boundary indicating the hit area, but if the visual indicator of the control is the only way to identify the control, then that indicator must have sufficient contrast. If text (or an icon) within a button is visible and there is no visual indication of the hit area, or the visual indication does not provide the only indication, then there is no contrast requirement beyond the text contrast (1.4.3 Contrast (Minimum)) or icon contrast covered by the Graphical Objects part of this Success Criteria. Note that for people with cognitive disabilities it is recommended to delineate the boundary of controls to aid in the recognition of controls and therefore the completion of activities.

- -

The visual focus indicator for a component must have sufficient contrast against the adjacent background when the component is focused, except where the appearance of the component is determined by the user agent and not modified by the author.

- +
- Two buttons, the first with no visual indicator except text saying 'button'. The second is the same but with an added grey border. -
An active control without a visual boundary, but with a focus indicator when focused
+ Two buttons, the first with no visual indicator except text saying 'button'. The second is the same but with an added grey border. +
An active control without a visual boundary, but with a focus indicator when focused
+

Focus indicator and Use of Color

+

The Use of Color success criteria addresses changing only the color of an object (or text) without otherwise altering the object's form. If a control's indicator of state (e.g., button background) varies only by color this is acceptable if the luminosity contrast ratio between the colors of the states differ by at least 3:1, or if there is another indicator of state. For example, a text link that only differs from adjacent text using color where there is no other visual indication that the text is linked (i.e., the link underline is removed) needs to ensure that the link color meets the 3:1 luminosity contrast ratio relative to the non-linked text color in order to meet the related Success Criteria 1.4.1.

+

The visual focus indicator for a component must have sufficient contrast against the adjacent background when the component is focused, except where the appearance of the component is determined by the user agent and not modified by the author. If the focus state relies on color (e.g., changing only the background color of a button), then changing from one color to another that has at least a 3:1 contrast ratio is a method of meeting 2.4.7 Focus Visible.

+ +
+ Two buttons, the first has a blue outline and inner white background with blue text. The second has a blue background with white text, reversing the color scheme. +
An active control with a visual boundary, and a focus (or other) state that is highlighted with a contrasting change of color
+
+ +

Another method to provide a visual focus indicator that requires contrast is changing the shape of the control. For example, if a button has a dark border the focus states could add a dark outline, effectively changing the shape of the component. This method does not require contrast with both the component and the background, because the shape of the component has changed.

+
- Two buttons, the first has a blue outline and inner white background with blue text. The second has a blue background with white text, reversing the color scheme. -
An active control with a visual boundary, and a focus (or other) state that is highlighted with a contrasting change of color
+ + Two buttons on a white background. The first has a blue border to indicate its boundary, white internal background and blue text. The second adds a thick blue-grey outer border to show focus. +
An active control showing the visual boundary by default, and the focus indicator which changes the shape of the component
+

Active User Interface Component Examples

For designing focus indicators, selection indicators and user interface components that need to be perceived clearly, the following are examples that have sufficient contrast.

@@ -276,8 +283,8 @@

Testing Principles

  • Identify each user-interface component (link, button, form control) on the page and:
      -
    • Identify the visual (non-text) indicators of the component in the default (on page load) state and test the contrast ratio against the adjacent colors.
    • -
    • Identify the state indicators and test the contrast ratio against the adjacent colors.
    • +
    • Identify the visual (non-text) indicators of the component that are required to identify that a control exists. In the default (on page load) state, test the contrast ratio against the adjacent colors.
    • +
    • Identify the state indicators that are required for operation (focus-state, and functional states such as checked / selected) and test the contrast ratio against the adjacent colors.
  • Identify each graphic on the page that includes information required for understanding the content (i.e. excluding graphics which have visible text for the same information, or are decorative) and: @@ -397,6 +404,7 @@

    Advisory

    Failures

From dbe3f1038b929b3e803ea450192fe8e7e5027e74 Mon Sep 17 00:00:00 2001 From: Alastair Campbell Date: Fri, 7 Dec 2018 08:55:34 +0000 Subject: [PATCH 03/17] Updates from Jared. --- understanding/21/non-text-contrast.html | 40 ++++++++++++------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/understanding/21/non-text-contrast.html b/understanding/21/non-text-contrast.html index c0435e24dd..e6033d9f8a 100644 --- a/understanding/21/non-text-contrast.html +++ b/understanding/21/non-text-contrast.html @@ -18,9 +18,9 @@

Intent

Active User Interface Components

-

For active controls on the page, such as buttons and form fields, any visual information provided that is necessary for a user to identify that a control exists and how to operate it must have sufficient contrast with the adjacent background. Also, any visual effects implemented which are necessary to indicate state, such as whether a component is selected or focused, must also ensure that the information used to identify the control in that state has a minimum 3:1 contrast ratio.

+

For active controls, those that are not inactive or disabled, such as buttons and form fields: Any visual information provided that is necessary for a user to identify that a control exists and how to operate it must have a minimum 3:1 contrast ratio with the adjacent background. Also, any visual effects implemented which are necessary to indicate state, such as whether a component is selected or focused, must also ensure that the information used to identify the control in that state has a minimum 3:1 contrast ratio.

-

This Success Criterion does not require that all states are differentiated within the component. With the exception of focus indicators, links and buttons are not required to differentiate states such as hover. Controls which convey the value of an input, such as checkboxes, sliders, and radio buttons must meet the contrast requirement for those states. For example, the tick in a checkbox must meet the contrast requirement.

+

This Success Criterion does not require that all states are differentiated within the component. With the exception of keyboard focus indicators, links and buttons are not required to differentiate states such as hover. Information within controls that convey the value or state of an input, such as checkboxes, sliders, and radio buttons must meet the contrast requirement for those states. For example, the tick in a checkbox must meet the contrast requirement.

Boundaries

@@ -28,12 +28,12 @@

Boundaries

Two buttons, the first with no visual indicator except text saying 'button'. The second is the same but with an added grey border. -
An active control without a visual boundary, but with a focus indicator when focused
+
A button (active control) without a visual boundary, and the same button with a defined visual boundary.
-

Focus indicator and Use of Color

+

Use of Color and Focus Visible

-

The Use of Color success criteria addresses changing only the color of an object (or text) without otherwise altering the object's form. If a control's indicator of state (e.g., button background) varies only by color this is acceptable if the luminosity contrast ratio between the colors of the states differ by at least 3:1, or if there is another indicator of state. For example, a text link that only differs from adjacent text using color where there is no other visual indication that the text is linked (i.e., the link underline is removed) needs to ensure that the link color meets the 3:1 luminosity contrast ratio relative to the non-linked text color in order to meet the related Success Criteria 1.4.1.

+

The Use of Color success criterion addresses changing only the color of an object (or text) without otherwise altering the object's form. THe principle is the same as for a text link that only differs from adjacent text using color where there is no other visual indication that the text is linked (i.e., the link underline is removed) needs to ensure that the link color meets the 3:1 luminosity contrast ratio relative to the non-linked text color in order to meet the related Success Criteria 1.4.1 Use of Color.

The visual focus indicator for a component must have sufficient contrast against the adjacent background when the component is focused, except where the appearance of the component is determined by the user agent and not modified by the author. If the focus state relies on color (e.g., changing only the background color of a button), then changing from one color to another that has at least a 3:1 contrast ratio is a method of meeting 2.4.7 Focus Visible.

@@ -76,13 +76,13 @@

Active User Interface Component Examples

Styled links or buttons - Where links or buttons have been styled (including the focus indicator), these must meet the 3:1 contrast ratio. + Where links or buttons have a styled focus indicator, the focus indicator must meet the 3:1 contrast ratio. A styled link, dark blue, with underline.
The same styled link with a dark solid outline. Text input (minimal) - Where a text-input has an indicator, such as a bottom border, that indicator it must meet 3:1 contrast ratio. + Where a text-input has a visual indicator that it is an input, such as a bottom border, that indicator must meet 3:1 contrast ratio. A label with a text input shown by a bottom border and feint grey background. @@ -96,21 +96,21 @@

Active User Interface Component Examples

Text input focus style - Adding a focus indicator is required, and must meet 3:1 contrast ratio. + A focus indicator is required. If the focus indicator is styled by the author, it must meet the 3:1 contrast ratio. A label with a text input shown by a complete border and blue outline. - Text input using background colour - Text input using a different in background colour to indicate the input, no border is required to indicate the input box. + Text input using background color + Text inputs that have no border and are differentiated only by a background color must have a 3:1 contrast ratio to the adjacent background. A label with a text input shown by a dark blue page background, and white box. - Text input using background colour focus style - Where an author-created focus style is applied to a dark background, it should have 3:1 contrast with the surroundings and/or input. + Text input using background color focus style + Where an author-created focus style is applied to a control on a dark background, it must have 3:1 contrast with the adjacent dark background. The same label and input with a yellow outline. @@ -228,7 +228,7 @@

Required for Understanding

Gradients

-

Gradients can reduce the apparent contrast between areas, and make it more difficult to test. The general principles is to identify the graphical object(s) required for understanding, and take the central color of that area. If you remove the adjacent colour which does not have sufficient contrast, can you still identify and understand the graphical object?

+

Gradients can reduce the apparent contrast between areas, and make it more difficult to test. The general principles is to identify the graphical object(s) required for understanding, and take the central color of that area. If you remove the adjacent color which does not have sufficient contrast, can you still identify and understand the graphical object?

Two versions of a blue circle with an 'i' indicating information. The first example has a blue gradient background, the second is missing the upper half of the background which obscures the i.
Removing the background which does not have sufficient contrast highlights that the graphical object (the "i") is not then understandable.
@@ -271,7 +271,7 @@

Essential Exception

@@ -289,8 +289,8 @@

Testing Principles

  • Identify each graphic on the page that includes information required for understanding the content (i.e. excluding graphics which have visible text for the same information, or are decorative) and:
      -
    • Check the contrast of the graphical object against its adjacent colours;
    • -
    • If there are multiple colours and/or a gradient, chose the least contrasting area to test;
    • +
    • Check the contrast of the graphical object against its adjacent colors;
    • +
    • If there are multiple colors and/or a gradient, chose the least contrasting area to test;
    • If it passes, move to the next graphical object;
    • If the least-contrasting area is less than 3:1, assume that area is invisible, is the graphical object still understandable?
    • If there is enough of the graphical object to understand, it passes, else fail.
    • @@ -341,7 +341,7 @@

      Pie Charts

      Infographics

      - An infographic showing lightly coloured circles of various sizes to indicate the size of five different social networks + An infographic showing lightly colored circles of various sizes to indicate the size of five different social networks

      Fail: Discerning the circles is required to understand the size of network and discerning the icons in each circle is required to identify which network it shows.

      @@ -350,10 +350,10 @@

      Infographics

      The same infographic with contrasting text, dark borders around the circles, and contrasting icons.
      -

      Pass: The circles have contrasting borders and the icons are a contrasting dark colour against the light circle backgrounds.

      +

      Pass: The circles have contrasting borders and the icons are a contrasting dark color against the light circle backgrounds.

      -

      There are many possible solutions to ensuring contrast, the example shows the use of borders. Other techniques are to use darker colours for the circle backgrounds, or to add text labels & values for each item.

      +

      There are many possible solutions to ensuring contrast, the example shows the use of borders. Other techniques are to use darker colors for the circle backgrounds, or to add text labels & values for each item.

  • @@ -404,7 +404,7 @@

    Advisory

    Failures

    From d6150ae9954fdc1b09e6a832d499da814e5769ff Mon Sep 17 00:00:00 2001 From: Alastair Campbell Date: Fri, 7 Dec 2018 18:25:22 +0000 Subject: [PATCH 04/17] For Jon's comments about adjecent colors --- .../21/img/button-focus-outlines.png | Bin 0 -> 16135 bytes understanding/21/img/checkbox.png | Bin 0 -> 5134 bytes understanding/21/non-text-contrast.html | 22 +++++++++++++++++- 3 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 understanding/21/img/button-focus-outlines.png create mode 100644 understanding/21/img/checkbox.png diff --git a/understanding/21/img/button-focus-outlines.png b/understanding/21/img/button-focus-outlines.png new file mode 100644 index 0000000000000000000000000000000000000000..96e598dc082ccebbadbbc9d93e90d9f41666f3ee GIT binary patch literal 16135 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 z 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 COQ4nj literal 0 HcmV?d00001 diff --git a/understanding/21/img/checkbox.png b/understanding/21/img/checkbox.png new file mode 100644 index 0000000000000000000000000000000000000000..99cf15eb876bbd0886d943b8cb02ab42c63417f7 GIT binary patch literal 5134 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 literal 0 HcmV?d00001 diff --git a/understanding/21/non-text-contrast.html b/understanding/21/non-text-contrast.html index e6033d9f8a..29be924cb0 100644 --- a/understanding/21/non-text-contrast.html +++ b/understanding/21/non-text-contrast.html @@ -31,9 +31,29 @@

    Boundaries

    A button (active control) without a visual boundary, and the same button with a defined visual boundary.
    +

    Adjacent colors

    +

    For user interface components 'adjacent colors' means the colors adjacent to the component, rather than within the component. For example, if an input has a white internal background, dark border, and white external background the 'adjacent color' to the component would be the white external background.

    +
    + Standard text input with a label, white internal and external background with a dark border. +
    A standard text input with white adjacent color outside the component
    +
    + +

    Where a control's state conveys a value or functionality, such as a checkbox, the adjacent color for that state indicator is important, for example the tick in a checkbox must meet the 3:1 contrast ratio with it's adjacent colours. The same principle applies to HTML elements such as radio buttons, select (with multiple items) and custom components such as a selected tab in a tablist.

    +
    + Checkbox with a dark tick on white background. +
    A checkbox showing a contrasting state indicator for a check.
    +
    + +

    A common method of adding a focus indicator is to add an outline around the component, which expands the component into the adjacent background. If that outline does not leave a gap with the component's border, it is considered to change the shape of the component, and therefore does not rely on color to indicate the focus. That style of outline must contrast with the background, but it is not required to contrast with the component. If the outline is drawn inside the component, it would then need to contrast with the adjacent colours within the component.

    + +
    + Four buttons, the first default with a dark border, the second with a dark outline adjacent to the border, the third with the outline separated outside the border, and the fourth inside the border. +
    A default button, with three styles for an outline that provides contrast as a keyboard focus indicator
    +
    +

    Use of Color and Focus Visible

    -

    The Use of Color success criterion addresses changing only the color of an object (or text) without otherwise altering the object's form. THe principle is the same as for a text link that only differs from adjacent text using color where there is no other visual indication that the text is linked (i.e., the link underline is removed) needs to ensure that the link color meets the 3:1 luminosity contrast ratio relative to the non-linked text color in order to meet the related Success Criteria 1.4.1 Use of Color.

    +

    The Use of Color success criterion addresses changing only the color of an object (or text) without otherwise altering the object's form. The principle is the same as for a text link that only differs from adjacent text using color where there is no other visual indication that the text is linked (i.e., the link underline is removed). In that case the link color must meets the 3:1 luminosity contrast ratio relative to the non-linked text color in order to meet the related Success Criteria 1.4.1 Use of Color.

    The visual focus indicator for a component must have sufficient contrast against the adjacent background when the component is focused, except where the appearance of the component is determined by the user agent and not modified by the author. If the focus state relies on color (e.g., changing only the background color of a button), then changing from one color to another that has at least a 3:1 contrast ratio is a method of meeting 2.4.7 Focus Visible.

    From 97adebe382aa03ad211e3a58decf4b3a6c34a7f8 Mon Sep 17 00:00:00 2001 From: Andrew Kirkpatrick Date: Sat, 8 Dec 2018 17:23:40 -0500 Subject: [PATCH 05/17] fixing it's and colours --- understanding/21/non-text-contrast.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/understanding/21/non-text-contrast.html b/understanding/21/non-text-contrast.html index 29be924cb0..8abefe62d4 100644 --- a/understanding/21/non-text-contrast.html +++ b/understanding/21/non-text-contrast.html @@ -38,13 +38,13 @@

    Adjacent colors

    A standard text input with white adjacent color outside the component
    -

    Where a control's state conveys a value or functionality, such as a checkbox, the adjacent color for that state indicator is important, for example the tick in a checkbox must meet the 3:1 contrast ratio with it's adjacent colours. The same principle applies to HTML elements such as radio buttons, select (with multiple items) and custom components such as a selected tab in a tablist.

    +

    Where a control's state conveys a value or functionality, such as a checkbox, the adjacent color for that state indicator is important, for example the tick in a checkbox must meet the 3:1 contrast ratio with its adjacent colors. The same principle applies to HTML elements such as radio buttons, select (with multiple items) and custom components such as a selected tab in a tablist.

    Checkbox with a dark tick on white background.
    A checkbox showing a contrasting state indicator for a check.
    -

    A common method of adding a focus indicator is to add an outline around the component, which expands the component into the adjacent background. If that outline does not leave a gap with the component's border, it is considered to change the shape of the component, and therefore does not rely on color to indicate the focus. That style of outline must contrast with the background, but it is not required to contrast with the component. If the outline is drawn inside the component, it would then need to contrast with the adjacent colours within the component.

    +

    A common method of adding a focus indicator is to add an outline around the component, which expands the component into the adjacent background. If that outline does not leave a gap with the component's border, it is considered to change the shape of the component, and therefore does not rely on color to indicate the focus. That style of outline must contrast with the background, but it is not required to contrast with the component. If the outline is drawn inside the component, it would then need to contrast with the adjacent colors within the component.

    Four buttons, the first default with a dark border, the second with a dark outline adjacent to the border, the third with the outline separated outside the border, and the fourth inside the border. @@ -242,7 +242,7 @@

    Required for Understanding

  • A graphic with text embedded or overlayed conveys the same information, such as labels and values on charts.
  • The graphic is for aesthetic purposes that does not require the user to see or understand it to understand the content or use the functionality.
  • The information is available in another form, such as in a table that follows the graph, which becomes visible when a "Long Description" button is pressed.
  • -
  • The graphic is part of a logo or brand name (which is considered "essential" to it's presentation).
  • +
  • The graphic is part of a logo or brand name (which is considered "essential" to its presentation).
  • From a8b016e370e33458df2c1ffdf1309ab771f6ba35 Mon Sep 17 00:00:00 2001 From: Alastair Campbell Date: Sun, 9 Dec 2018 00:57:04 +0000 Subject: [PATCH 06/17] Updates for Jared part 2 --- .../21/img/button-focus-dark-border.png | Bin 0 -> 1320 bytes .../21/img/text-input-background-border.png | Bin 0 -> 1471 bytes understanding/21/non-text-contrast.html | 14 +++++++++++++- 3 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 understanding/21/img/button-focus-dark-border.png create mode 100644 understanding/21/img/text-input-background-border.png diff --git a/understanding/21/img/button-focus-dark-border.png b/understanding/21/img/button-focus-dark-border.png new file mode 100644 index 0000000000000000000000000000000000000000..70275c0853031c465be0e78ce2a66f45d3600f26 GIT binary patch literal 1320 zcmeAS@N?(olHy`uVBq!ia0vp^vw_%}d9JCz`f>c^s7PhBy=-Qfm3($D8 z@QZEg=gaP;7x$f>F>C&@qq^s;ewggn7$fz*^?vylld4Ray>;?^d4<;w zF8^7Y>9CoTUDW@~wR^&cd`>w|W7*6X^wHqluWn6I42btYkRn?U$B1h4zE0(Wx70kb-fh}!_AwgT5>Bh zp5>O*%BYFu`s&OPGs7uKm3jMx*FKf&*f+2-g#0zknN;$^Lht&dz&78>4>P*>JgxQ@ zglIpJ+TwZ1Y@5X4WsCw<_UdOc)jW+XeJ`6-KHGBcALr!DI~A7uPJTA?GK)j*gKE7r z&t2I*Zih|IdPaRr1#-SGmbuDZ+O*}8iZP$8`RS)Sj-Ff;vrLz5`;KF8Rl1HQ^&Cy| zUE{rP-{T8E?aj|*6!q$z?8yySzsUXJuJSJSG-cV_3-)Wg@G6x`#()_<}%SQw{p%d@UA=4btkV){Pgj) z_jBZGdX^Quef&8>qf2MbZ?SJ|3(D)8?)~BpakuaP9+%DhOtJi(~pA#Vps3{?!&YAt32oN-Ou}9^eEGY=|j?U_S9si0}6518Q0h!vEMDTug+z9k&VG^ z&pp+N4E|d$3e5N;ke})B>ihZ$)ys<6%BL~x`NPK6?Q-Sbf1bVTr}RHh`pnsItxV+g z+ht!Vq5g{#+J`d;|@aM}v>BQvWdcd5** zJ>g<n&d!W}61wk|kZ9af>oxj&POPqR zI;@0NDxj1S_miG5?*1D#|8U!xoF=2JU*%I3DjGq|BRKFs<|oG2nJanvegI2A22WQ% Jmvv4FO#r}KdyfDB literal 0 HcmV?d00001 diff --git a/understanding/21/img/text-input-background-border.png b/understanding/21/img/text-input-background-border.png new file mode 100644 index 0000000000000000000000000000000000000000..45051d8478f8fdc8a6322d756ab7bcceb1ed0865 GIT binary patch literal 1471 zcmaLXYd8}M90u@Bc%gt_UED->K#r*DE0OArF@gl(WFw1+Rwm*g<`1? zNf6A&VEt(1Gru&TlK9Xt)3}(tTAy%U5tVD$gGYv({~N zzOr-Mjr|o8mGAQXw}FC`Ra8+9<`N$bN4p{oxS80e^|nw@hScLn*E)Uk6#V)jrlT(A z+zIuZliS(pbAug=RooE7^b!=Qy5j}lI4*f18n_`*gY;g(^?L&a{jMEN$h2E_(A4Q8 z>cTIH?Sa|pXn$0g2RUk};M^>*3gmJ>`fTxGC8xvQSg0~k*sO~T{57OR5J4eV;< z({Qc4P}LyC9@F*h#Azt&jUAZpY+akA92O)%lapR2x&o)hb!(LPDDT|;P3md(?ga!N zB;sacfA5_$=9N~YJSpX7X+(S;!bvZg)#oZmA2TkAmO|rYhIKHRVk6D(<@{*g{A#Q? zQ)iw%)QWh)dr{b!N{E)|b&?LGP^p;Oz2ywJ3W;@5ClErg$q(yGIPZZYMAT()464Lu zoCy0f=9~6Q))G1~GhG)(nn)M#OK&b~a4eIPv!g)dVk#QeTFqtue4*T0p8y&WincE9^4RMTSWL(iOb-vzeZr zW+*EGK@1)Qh^79tMH%k!C}F;_B8+xMZQF)}ciCs&arhRr-dGGdY`$*!s+U-{aoLv1 zaH&I|^h(>P?w?}c_TnT)^r@C4nY;!;amN5p<&$p-`t8TGJ61#%Ox zP}SI+p*0F+lpEFn?g;ciH@mT&71I99^Sp_nkF>pS0eAR#H(LXy-SBf2wY#`Exx}eY zQZ0S+_+t9bM+}b@%ZckyTwQC{?mGIpdrT?pz`}=sdN}`#l<>w_8=X?m6vA ziOkjYp5OH0Kp3L0N;NBhJ?;$-te#n&p~!JVx0i(ZvDdKbpB(@2?6DNa3U0_AREMtp zEy<~TfXB~gwe8afbBX2YttrvBAMMU?L$9CmMk4l}YTiFs8wn{{$miYJ2<_}P(F`Sv zWXkkB&c)EinN+N~5z&~mz)^%eku-6`9z#VwOiK6dZ2EG=7VB3D z1Q*fkI9R7(Ub;{27dWvT?XAC*?gL(f|67m$aPm6vdNY?cbs!O8@7sOI4Cf0RCOq&% dy?*Fh$35y|oV6Wd0DK5Dz}$p@t-S0K^AB^{vUdOg literal 0 HcmV?d00001 diff --git a/understanding/21/non-text-contrast.html b/understanding/21/non-text-contrast.html index 8abefe62d4..461eef403b 100644 --- a/understanding/21/non-text-contrast.html +++ b/understanding/21/non-text-contrast.html @@ -38,6 +38,13 @@

    Adjacent colors

    A standard text input with white adjacent color outside the component
    +

    If the inner background of the component provides contrast with the adjacent background color, a border can be ignored for the purpose of contrast. For example, an input with a light background on a dark background could have a dark or a light colored border. As the difference between backgrounds provides contrast, the border is not important for this success criterion.

    + +
    + A text box with a dark background and light border, with a white background. +
    The contrast of the input background and adjacent color is sufficient, the border is not required to contrast with either.
    +
    +

    Where a control's state conveys a value or functionality, such as a checkbox, the adjacent color for that state indicator is important, for example the tick in a checkbox must meet the 3:1 contrast ratio with its adjacent colors. The same principle applies to HTML elements such as radio buttons, select (with multiple items) and custom components such as a selected tab in a tablist.

    Checkbox with a dark tick on white background. @@ -47,7 +54,7 @@

    Adjacent colors

    A common method of adding a focus indicator is to add an outline around the component, which expands the component into the adjacent background. If that outline does not leave a gap with the component's border, it is considered to change the shape of the component, and therefore does not rely on color to indicate the focus. That style of outline must contrast with the background, but it is not required to contrast with the component. If the outline is drawn inside the component, it would then need to contrast with the adjacent colors within the component.

    - Four buttons, the first default with a dark border, the second with a dark outline adjacent to the border, the third with the outline separated outside the border, and the fourth inside the border. + Four buttons, the first default with a dark border, the second with a dark outline adjacent to the border, the third with the outline separated outside the border, and the fourth inside the border.
    A default button, with three styles for an outline that provides contrast as a keyboard focus indicator
    @@ -69,6 +76,11 @@

    Use of Color and Focus Visible

    Two buttons on a white background. The first has a blue border to indicate its boundary, white internal background and blue text. The second adds a thick blue-grey outer border to show focus.
    An active control showing the visual boundary by default, and the focus indicator which changes the shape of the component
    +

    It is also possible to do the reverse of expanding a button with an outline, and change the outer part of the component to a color that contrasts with the inner color.

    +
    + Two buttons, one with a dark background and no border. The second has a light coloured border applied within the boundary of the button. +
    Adding a light color border within the dark component changes the shape, so the focus style does not rely on color
    +
    From aabd363782a4dd52433064872ad53cf3f91d50a3 Mon Sep 17 00:00:00 2001 From: Alastair Campbell Date: Mon, 10 Dec 2018 00:17:30 +0000 Subject: [PATCH 07/17] Added heading for states --- understanding/21/non-text-contrast.html | 1 + 1 file changed, 1 insertion(+) diff --git a/understanding/21/non-text-contrast.html b/understanding/21/non-text-contrast.html index 461eef403b..138f626e4b 100644 --- a/understanding/21/non-text-contrast.html +++ b/understanding/21/non-text-contrast.html @@ -45,6 +45,7 @@

    Adjacent colors

    The contrast of the input background and adjacent color is sufficient, the border is not required to contrast with either.
    +

    States

    Where a control's state conveys a value or functionality, such as a checkbox, the adjacent color for that state indicator is important, for example the tick in a checkbox must meet the 3:1 contrast ratio with its adjacent colors. The same principle applies to HTML elements such as radio buttons, select (with multiple items) and custom components such as a selected tab in a tablist.

    Checkbox with a dark tick on white background. From 610824fafcd8315779aea336595c3cd59a32f3f9 Mon Sep 17 00:00:00 2001 From: Alastair Campbell Date: Sat, 15 Dec 2018 23:06:01 +0000 Subject: [PATCH 08/17] Incorporatign most of #563 But not all, see comments there for things not added/changed. --- understanding/21/non-text-contrast.html | 28 ++++++++++++------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/understanding/21/non-text-contrast.html b/understanding/21/non-text-contrast.html index 138f626e4b..0a584c7dee 100644 --- a/understanding/21/non-text-contrast.html +++ b/understanding/21/non-text-contrast.html @@ -18,13 +18,13 @@

    Intent

    Active User Interface Components

    -

    For active controls, those that are not inactive or disabled, such as buttons and form fields: Any visual information provided that is necessary for a user to identify that a control exists and how to operate it must have a minimum 3:1 contrast ratio with the adjacent background. Also, any visual effects implemented which are necessary to indicate state, such as whether a component is selected or focused, must also ensure that the information used to identify the control in that state has a minimum 3:1 contrast ratio.

    +

    For active controls that are not inactive or disabled, such as buttons and form fields: any visual information provided that is necessary for a user to identify that a control is present and how to operate it must have a minimum 3:1 contrast ratio with the adjacent colors. Also, any visual effects implemented which are necessary to indicate state, such as whether a component is selected or focused must also ensure that the information used to identify the control in that state has a minimum 3:1 contrast ratio.

    This Success Criterion does not require that all states are differentiated within the component. With the exception of keyboard focus indicators, links and buttons are not required to differentiate states such as hover. Information within controls that convey the value or state of an input, such as checkboxes, sliders, and radio buttons must meet the contrast requirement for those states. For example, the tick in a checkbox must meet the contrast requirement.

    Boundaries

    -

    This success criteria does not require that controls have a visual boundary indicating the hit area, but if the visual indicator of the control is the only way to identify the control, then that indicator must have sufficient contrast. If text (or an icon) within a button is visible and there is no visual indication of the hit area, or the visual indication does not provide the only indication, then there is no contrast requirement beyond the text contrast (1.4.3 Contrast (Minimum)) or icon contrast covered by the Graphical Objects part of this Success Criteria. Note that for people with cognitive disabilities it is recommended to delineate the boundary of controls to aid in the recognition of controls and therefore the completion of activities.

    +

    This success criteria does not require that controls have a visual boundary indicating the hit area, but if the visual indicator of the control is the only way to identify the control, then that indicator must have sufficient contrast. If text (or an icon) within a button is visible and there is no visual indication of the hit area then the Success Criterion is passed. If a button with text also has a colored border, since the border does not provide the only indication there is no contrast requirement beyond the text contrast (1.4.3 Contrast (Minimum)). Note that for people with cognitive disabilities it is recommended to delineate the boundary of controls to aid in the recognition of controls and therefore the completion of activities.

    Two buttons, the first with no visual indicator except text saying 'button'. The second is the same but with an added grey border. @@ -46,9 +46,9 @@

    Adjacent colors

    States

    -

    Where a control's state conveys a value or functionality, such as a checkbox, the adjacent color for that state indicator is important, for example the tick in a checkbox must meet the 3:1 contrast ratio with its adjacent colors. The same principle applies to HTML elements such as radio buttons, select (with multiple items) and custom components such as a selected tab in a tablist.

    +

    Where a control's state conveys a value or functionality, such as a checkbox, the adjacent color for that state indicator is important, for example the check in a checkbox must meet the 3:1 contrast ratio with its adjacent colors. The same principle applies to HTML elements such as radio buttons, select (with multiple items) and custom components such as a selected tab in a set of tabs.

    - Checkbox with a dark tick on white background. + Checkbox with a dark check on white background.
    A checkbox showing a contrasting state indicator for a check.
    @@ -59,11 +59,11 @@

    States

    A default button, with three styles for an outline that provides contrast as a keyboard focus indicator
    -

    Use of Color and Focus Visible

    +

    Relationship with Use of Color and Focus Visible

    -

    The Use of Color success criterion addresses changing only the color of an object (or text) without otherwise altering the object's form. The principle is the same as for a text link that only differs from adjacent text using color where there is no other visual indication that the text is linked (i.e., the link underline is removed). In that case the link color must meets the 3:1 luminosity contrast ratio relative to the non-linked text color in order to meet the related Success Criteria 1.4.1 Use of Color.

    +

    The Use of Color success criterion addresses changing only the color (hue) of an object (or text) without otherwise altering the object's form. The principle is the same as for a text link that only differs from adjacent text using color where there is no other visual indication that the text is linked (i.e., the link underline is removed). In that case the Working Group regards a link color that meets the 3:1 contrast ratio relative to the non-linked text color as satisfying the Success Criteria 1.4.1 Use of Color since it is relying on contrast as well as color to convey that the text is a link.

    -

    The visual focus indicator for a component must have sufficient contrast against the adjacent background when the component is focused, except where the appearance of the component is determined by the user agent and not modified by the author. If the focus state relies on color (e.g., changing only the background color of a button), then changing from one color to another that has at least a 3:1 contrast ratio is a method of meeting 2.4.7 Focus Visible.

    +

    The visual focus indicator for a component must have sufficient contrast against the adjacent background when the component is focused, except where the appearance of the component is determined by the user agent and not modified by the author. If the focus state relies on color (e.g., changing only the background color of a button), then changing from one color to another that has at least a 3:1 contrast ratio is regarded by the Working Group as a method of meeting 2.4.7 Focus Visible.

    Two buttons, the first has a blue outline and inner white background with blue text. The second has a blue background with white text, reversing the color scheme. @@ -109,7 +109,7 @@

    Active User Interface Component Examples

    Styled links or buttons - Where links or buttons have a styled focus indicator, the focus indicator must meet the 3:1 contrast ratio. + Where links or buttons have an author-supplied style for the focus indicator, the focus indicator must meet the 3:1 contrast ratio. A styled link, dark blue, with underline.
    The same styled link with a dark solid outline. @@ -122,7 +122,7 @@

    Active User Interface Component Examples

    Text input - Where a text-input has an indicator, such as a bottom border, that indicator it must meet 3:1 contrast ratio. + Where a text-input has an indicator, such as a complete border, that indicator it must meet 3:1 contrast ratio. A label with a text input shown by a complete border. @@ -207,8 +207,8 @@

    Graphical Objects

    A red magnet with grey tips and a black outline. -

    A magnet can be understood by the U shape with lighter colored tips. Therefore to understand this graphic you should be able to discern the overall shape (against the background) and the lighter colored tips (against the rest of the U shape and the background).

    -

    The graphical objects are the U shape (by outline or by the solid red color), and each tip of the magnet.

    +

    A magnet can be understood by the "U" shape with lighter colored tips. Therefore to understand this graphic you should be able to discern the overall shape (against the background) and the lighter colored tips (against the rest of the U shape and the background).

    +

    The graphical objects are the "U" shape (by outline or by the solid red color), and each tip of the magnet.

    @@ -240,8 +240,8 @@

    Graphical Objects

    Taking the magnet image above as an example, the process for establishing the graphical object(s) is to:

    • Assess what part of each image is needed to understand what it represents.
      - The magnet's U shape can be conveyed by the outline or by the red background (either is acceptable). The white tips are also important (otherwise it would be a horseshoe), which needs to contrast with the red background.
    • -
    • Assume that the user could only see those aspects, do they contrast with the adjacent colors?
      + The magnet's "U" shape can be conveyed by the outline or by the red background (either is acceptable). The white tips are also important (otherwise it would be a horseshoe), which needs to contrast with the red background.
    • +
    • Assume that the user could only see those aspects. Do they contrast with the adjacent colors?
      The outline of the magnet contrasts with the surrounding text (black/white), and the red and white between the tips also has sufficient contrast.
    @@ -355,7 +355,7 @@

    Pie Charts

    Failing pie chart
    -

    Fail: The pie chart has labels for each slice (so passes 1.4.1 Use of Color), but in order to understand the proportions of the slices you must discern the edges of the slices (the graphical objects conveying essential information), and the contrast between the slices is not over 3:1.

    +

    Fail: The pie chart has labels for each slice (so passes 1.4.1 Use of Color), but in order to understand the proportions of the slices you must discern the edges of the slices (the graphical objects conveying essential information), and the contrast between the slices is not 3:1 or greater.

    From 51aa7d73daecc463be028bac7873d57b291314c2 Mon Sep 17 00:00:00 2001 From: Alastair Campbell Date: Fri, 4 Jan 2019 14:09:37 +0000 Subject: [PATCH 09/17] Updated based on call on 18th Dec Removed the requirement for differentiation between states. Took out some examples (to be added in a technique). Added to the focus-visible understanding a to-be-added technique. --- understanding/20/focus-visible.html | 4 +++ understanding/21/non-text-contrast.html | 43 ++++--------------------- 2 files changed, 11 insertions(+), 36 deletions(-) diff --git a/understanding/20/focus-visible.html b/understanding/20/focus-visible.html index af86f64786..69ab93cb2e 100644 --- a/understanding/20/focus-visible.html +++ b/understanding/20/focus-visible.html @@ -124,6 +124,10 @@

    Sufficient Techniques for Focus Visible

    Using an author-supplied, highly visible focus indicator + +
  • + @@@ Using a change of contrast ratio to provide a visible focus indicator +
  • diff --git a/understanding/21/non-text-contrast.html b/understanding/21/non-text-contrast.html index 0a584c7dee..cca44abaf8 100644 --- a/understanding/21/non-text-contrast.html +++ b/understanding/21/non-text-contrast.html @@ -20,7 +20,9 @@

    Active User Interface Components

    For active controls that are not inactive or disabled, such as buttons and form fields: any visual information provided that is necessary for a user to identify that a control is present and how to operate it must have a minimum 3:1 contrast ratio with the adjacent colors. Also, any visual effects implemented which are necessary to indicate state, such as whether a component is selected or focused must also ensure that the information used to identify the control in that state has a minimum 3:1 contrast ratio.

    -

    This Success Criterion does not require that all states are differentiated within the component. With the exception of keyboard focus indicators, links and buttons are not required to differentiate states such as hover. Information within controls that convey the value or state of an input, such as checkboxes, sliders, and radio buttons must meet the contrast requirement for those states. For example, the tick in a checkbox must meet the contrast requirement.

    +

    This Success Criterion does not require that all states are differentiated within the component. With the exception of keyboard focus indicators, controls are not required to differentiate states, but they are required to maintain contrast with adjacent colors across each states.

    + +

    Non-text information within controls that convey the value or state of an input, such as checkboxes, sliders, and radio buttons are not currently in the scope of this success criteria. This gap is likely to be addressed in a future version of the guidelines.

    Boundaries

    @@ -42,47 +44,16 @@

    Adjacent colors

    A text box with a dark background and light border, with a white background. -
    The contrast of the input background and adjacent color is sufficient, the border is not required to contrast with either.
    -
    - -

    States

    -

    Where a control's state conveys a value or functionality, such as a checkbox, the adjacent color for that state indicator is important, for example the check in a checkbox must meet the 3:1 contrast ratio with its adjacent colors. The same principle applies to HTML elements such as radio buttons, select (with multiple items) and custom components such as a selected tab in a set of tabs.

    -
    - Checkbox with a dark check on white background. -
    A checkbox showing a contrasting state indicator for a check.
    -
    - -

    A common method of adding a focus indicator is to add an outline around the component, which expands the component into the adjacent background. If that outline does not leave a gap with the component's border, it is considered to change the shape of the component, and therefore does not rely on color to indicate the focus. That style of outline must contrast with the background, but it is not required to contrast with the component. If the outline is drawn inside the component, it would then need to contrast with the adjacent colors within the component.

    - -
    - Four buttons, the first default with a dark border, the second with a dark outline adjacent to the border, the third with the outline separated outside the border, and the fourth inside the border. -
    A default button, with three styles for an outline that provides contrast as a keyboard focus indicator
    +
    The contrast of the input background (white) and color adjacent to the control (dark blue) is sufficient. There is also a border (silver) on the component that is not required to contrast with either.

    Relationship with Use of Color and Focus Visible

    -

    The Use of Color success criterion addresses changing only the color (hue) of an object (or text) without otherwise altering the object's form. The principle is the same as for a text link that only differs from adjacent text using color where there is no other visual indication that the text is linked (i.e., the link underline is removed). In that case the Working Group regards a link color that meets the 3:1 contrast ratio relative to the non-linked text color as satisfying the Success Criteria 1.4.1 Use of Color since it is relying on contrast as well as color to convey that the text is a link.

    +

    The Use of Color success criterion addresses changing only the color (hue) of an object or text without otherwise altering the object's form. The principle is that contrast ratio (the difference in brightness) can be used to distinguish text or graphics. For example, G183 is a technique to use a contrast ratio of 3:1 with surrounding text to distinguish links and controls. In that case the Working Group regards a link color that meets the 3:1 contrast ratio relative to the non-linked text color as satisfying the Success Criteria 1.4.1 Use of Color since it is relying on contrast ratio as well as color (hue) to convey that the text is a link.

    -

    The visual focus indicator for a component must have sufficient contrast against the adjacent background when the component is focused, except where the appearance of the component is determined by the user agent and not modified by the author. If the focus state relies on color (e.g., changing only the background color of a button), then changing from one color to another that has at least a 3:1 contrast ratio is regarded by the Working Group as a method of meeting 2.4.7 Focus Visible.

    - -
    - Two buttons, the first has a blue outline and inner white background with blue text. The second has a blue background with white text, reversing the color scheme. -
    An active control with a visual boundary, and a focus (or other) state that is highlighted with a contrasting change of color
    -
    - -

    Another method to provide a visual focus indicator that requires contrast is changing the shape of the control. For example, if a button has a dark border the focus states could add a dark outline, effectively changing the shape of the component. This method does not require contrast with both the component and the background, because the shape of the component has changed.

    - -
    - - Two buttons on a white background. The first has a blue border to indicate its boundary, white internal background and blue text. The second adds a thick blue-grey outer border to show focus. -
    An active control showing the visual boundary by default, and the focus indicator which changes the shape of the component
    -
    -

    It is also possible to do the reverse of expanding a button with an outline, and change the outer part of the component to a color that contrasts with the inner color.

    -
    - Two buttons, one with a dark background and no border. The second has a light coloured border applied within the boundary of the button. -
    Adding a light color border within the dark component changes the shape, so the focus style does not rely on color
    -
    +

    Using a change of contrast for focus and other states is a technique to differentiate the states. This is the basis for G195: Using an author-supplied, highly visible focus indicator, and more techniques are being added.

    +

    The visual focus indicator for a component must have sufficient contrast against the adjacent background when the component is focused, except where the appearance of the component is determined by the user agent and not modified by the author. If the focus state relies on color (e.g., changing only the background color of a button), then changing from one color to another that has at least a 3:1 contrast ratio is regarded by the Working Group as a method of meeting 2.4.7 Focus Visible.

    Active User Interface Component Examples

    From 0dfc05be176589106f11f75198005bc7079e30eb Mon Sep 17 00:00:00 2001 From: Alastair Campbell Date: Thu, 10 Jan 2019 14:40:45 +0000 Subject: [PATCH 10/17] Updates from 8th Jan call. --- understanding/21/non-text-contrast.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/understanding/21/non-text-contrast.html b/understanding/21/non-text-contrast.html index cca44abaf8..708b09d134 100644 --- a/understanding/21/non-text-contrast.html +++ b/understanding/21/non-text-contrast.html @@ -20,9 +20,9 @@

    Active User Interface Components

    For active controls that are not inactive or disabled, such as buttons and form fields: any visual information provided that is necessary for a user to identify that a control is present and how to operate it must have a minimum 3:1 contrast ratio with the adjacent colors. Also, any visual effects implemented which are necessary to indicate state, such as whether a component is selected or focused must also ensure that the information used to identify the control in that state has a minimum 3:1 contrast ratio.

    -

    This Success Criterion does not require that all states are differentiated within the component. With the exception of keyboard focus indicators, controls are not required to differentiate states, but they are required to maintain contrast with adjacent colors across each states.

    +

    This Success Criterion does not require that changes in color that differentiate between states of an individual component meet the 3:1 contrast ratio when they do not appear next to each other. For example, there is not a new requirement that visited links contrast with the default color, or that mouse hover indicators contrast with the default state. However, the component must not lose contrast with the adjacent colors, and non-text indicators such as the check in a checkbox, or an arrow graphic indicating a menu is selected or open must have sufficient contrast to the adjacent colors.

    -

    Non-text information within controls that convey the value or state of an input, such as checkboxes, sliders, and radio buttons are not currently in the scope of this success criteria. This gap is likely to be addressed in a future version of the guidelines.

    +

    Non-text information within controls that convey the value or state of an input, such as a 1-5 star indicator with a black outline for each star filled with either yellow (full) or white (empty) is likely to fail Use of color, rather than Non-text Contrast.

    Boundaries

    From 2d062137474f92d1a9ab97a888970b96c6178979 Mon Sep 17 00:00:00 2001 From: Alastair Campbell Date: Thu, 10 Jan 2019 16:23:14 +0000 Subject: [PATCH 11/17] Further examples for adjacent. --- understanding/21/img/checkbox-purple.png | Bin 0 -> 1279 bytes understanding/21/img/radio-custom.png | Bin 0 -> 41741 bytes understanding/21/non-text-contrast.html | 27 +++++++++++++++++------ 3 files changed, 20 insertions(+), 7 deletions(-) create mode 100644 understanding/21/img/checkbox-purple.png create mode 100644 understanding/21/img/radio-custom.png diff --git a/understanding/21/img/checkbox-purple.png b/understanding/21/img/checkbox-purple.png new file mode 100644 index 0000000000000000000000000000000000000000..1eca069380fad653d558f30cb41ef5f5fb95a901 GIT binary patch literal 1279 zcmeAS@N?(olHy`uVBq!ia0vp^xj>xF!2~2f9iA-%q!^2X+?^QKos)S9a~60+7BeuYyZ~Xwres!-4xtj)h?3y^w370~qErU=qSVy9;*9)~xKIwD z7M3zk7srr_xVN)!XN!c(9Pgbj)$P$8S|ji);6l>;CHnh97V0nJ=;GM-WnqTNz38rv z>Fo|Hl`6Uyt>_55z5Lrjr|ycSoE=J{CO4!^GZuTMm6;h^*E{cjyoSAe&RvIZ)nzYl zzHiqTI(+Eo+4j$KPfwcpfRpXh2}e206UywBPZauPo=j}EDVpHUN2K6}cZDyOet*8oz2?;jksqM+h7n9@j8Pk9DdERu+@+w$ &9$bda#}JDY-wId@u@mfcF?X`XoM z@Wzd=1;5MRe4H6)&|@Q{)IaCM;~O^(RR5Lvz5MNZapBU3-)1ho(>>d!PtfB}TG`7F zn?8KvKRWw)6SMar+09+ve4}$h#qa44UNZl`>Ae5>@&(nQH*U@g)$9+Q zeC_9vSs#wwOn5NS-slbQ{!jD1{@hbAC>PXABC(zYWD9qUt6B1d~#V-W$SitZSkqc)&IU4AG|2~u)Mff z?$y(cN~W)PI`3*9UMv5k-dL$$bY)=r8yAl?-_CY4%N0JmWn+8K!u0p=Taxi}ePce~ zFtoh)Epg@R&l%^J3)UT|H z-hNJ9YqjW}e^#?Co@}%|_W0IqxkQz~O2rjnAASLC>T`c%@#WWz*>TQEUjP5jY1;e> zD0bZBW$Ci-&s~;ooUCcF@toSaN}sZ)?www5PE9}mncHv8=FV)niBhb`|6X{x-mU(Q z)u~mRJDcS$KM|`bIIz2V=Y{Lh30H3(iR|CWdVGJt&sXvNq3Ocuwn|sI@>c9Wr>0l! zGda2-Y_9K}?=zruM+(=!@3K*IeWMN~&)V`}$Jd{K115&1PZs;s5!*TY!@Aas?me$^YU-Sfx~Uf8PeRq6LR zpR1l_5pMR$_N=Ghp5-%}UTze;pgCt=!LsA7!r$e2Im8YXMTmGOGxP+?o#4A>o5a1q z*TV3jOux3pI~yr6op#raCTttF3kR>M&JiRre-e|Ed2HU>Uwr1id>y0bIbiw3;OXk; Jvd$@?2>|e6ZzBKz literal 0 HcmV?d00001 diff --git a/understanding/21/img/radio-custom.png b/understanding/21/img/radio-custom.png new file mode 100644 index 0000000000000000000000000000000000000000..8e72abae06f6b0036ff6e984d2d3ea91240e7b64 GIT binary patch literal 41741 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 literal 0 HcmV?d00001 diff --git a/understanding/21/non-text-contrast.html b/understanding/21/non-text-contrast.html index 708b09d134..4c36d495b6 100644 --- a/understanding/21/non-text-contrast.html +++ b/understanding/21/non-text-contrast.html @@ -22,7 +22,7 @@

    Active User Interface Components

    This Success Criterion does not require that changes in color that differentiate between states of an individual component meet the 3:1 contrast ratio when they do not appear next to each other. For example, there is not a new requirement that visited links contrast with the default color, or that mouse hover indicators contrast with the default state. However, the component must not lose contrast with the adjacent colors, and non-text indicators such as the check in a checkbox, or an arrow graphic indicating a menu is selected or open must have sufficient contrast to the adjacent colors.

    -

    Non-text information within controls that convey the value or state of an input, such as a 1-5 star indicator with a black outline for each star filled with either yellow (full) or white (empty) is likely to fail Use of color, rather than Non-text Contrast.

    +

    Non-text information within controls that convey the value or state of an input, such as a 1-5 star indicator with a black outline for each star filled with either yellow (full) or white (empty) is likely to fail Use of color, rather than Non-text Contrast.

    Boundaries

    @@ -34,7 +34,7 @@

    Boundaries

  • Adjacent colors

    -

    For user interface components 'adjacent colors' means the colors adjacent to the component, rather than within the component. For example, if an input has a white internal background, dark border, and white external background the 'adjacent color' to the component would be the white external background.

    +

    For user interface components 'adjacent colors' means the colors adjacent to the component. For example, if an input has a white internal background, dark border, and white external background the 'adjacent color' to the component would be the white external background.

    Standard text input with a label, white internal and external background with a dark border.
    A standard text input with white adjacent color outside the component
    @@ -47,13 +47,27 @@

    Adjacent colors

    The contrast of the input background (white) and color adjacent to the control (dark blue) is sufficient. There is also a border (silver) on the component that is not required to contrast with either.
    +

    For visual information required to identify a state, such as the check in a checkbox or the thumb of a slider, that part might be within the component so the adjacent color might be with another part of the component.

    + +
    + A purple box with a light grey tick. +
    A customized checkbox with light grey tick, which has a contrast ratio of 5.6:1 with the purple box.
    +
    + +

    It is possible to use a flat design where the status indicator fills the component and does not contrast with the component, but does contrast with the colors adjacent to the component.

    + +
    + Three radio buttons, the first a plain circle marked unselected. The second shows the circle filled with the same color as the border. The third has a slightly darker filling than the border. +
    The first radio button shows the default state, the second and third show the radio button selected, and filled with a color that contasts with the color adjacent to the component. The last example shows the state indicator contrasting with the component colors.
    +
    +

    Relationship with Use of Color and Focus Visible

    The Use of Color success criterion addresses changing only the color (hue) of an object or text without otherwise altering the object's form. The principle is that contrast ratio (the difference in brightness) can be used to distinguish text or graphics. For example, G183 is a technique to use a contrast ratio of 3:1 with surrounding text to distinguish links and controls. In that case the Working Group regards a link color that meets the 3:1 contrast ratio relative to the non-linked text color as satisfying the Success Criteria 1.4.1 Use of Color since it is relying on contrast ratio as well as color (hue) to convey that the text is a link.

    Using a change of contrast for focus and other states is a technique to differentiate the states. This is the basis for G195: Using an author-supplied, highly visible focus indicator, and more techniques are being added.

    -

    The visual focus indicator for a component must have sufficient contrast against the adjacent background when the component is focused, except where the appearance of the component is determined by the user agent and not modified by the author. If the focus state relies on color (e.g., changing only the background color of a button), then changing from one color to another that has at least a 3:1 contrast ratio is regarded by the Working Group as a method of meeting 2.4.7 Focus Visible.

    +

    The visual focus indicator for a component must have sufficient contrast against the adjacent background when the component is focused, except where the appearance of the component is determined by the user agent and not modified by the author. If the focus state relies on color (e.g., changing only the background color of a button), then changing from one color to another that has at least a 3:1 contrast ratio is a method for meeting 2.4.7 Focus Visible.

    Active User Interface Component Examples

    @@ -287,8 +301,8 @@

    Testing Principles

    • Identify each user-interface component (link, button, form control) on the page and:
        -
      • Identify the visual (non-text) indicators of the component that are required to identify that a control exists. In the default (on page load) state, test the contrast ratio against the adjacent colors.
      • -
      • Identify the state indicators that are required for operation (focus-state, and functional states such as checked / selected) and test the contrast ratio against the adjacent colors.
      • +
      • Identify the visual (non-text) indicators of the component that are required to identify that a control exists, and indicate the current state. In the default (on page load) state, test the contrast ratio against the adjacent colors.
      • +
      • Test those contrast indicators in each state.
    • Identify each graphic on the page that includes information required for understanding the content (i.e. excluding graphics which have visible text for the same information, or are decorative) and: @@ -301,7 +315,7 @@

      Testing Principles

    -

    The techniques below each have testing criteria.

    +

    The techniques below each have testing criteria, and the related criteria for Focus visible (2.4.7), Use of color (1.4.1), and Contrast minimum also have techniques.

    @@ -408,7 +422,6 @@

    Advisory

    Failures

    From 619523ca54f07cc42d0b0a4fa3320d2f131c85e8 Mon Sep 17 00:00:00 2001 From: Alastair Campbell Date: Thu, 10 Jan 2019 17:13:29 +0000 Subject: [PATCH 12/17] Updated techniques available. --- understanding/21/non-text-contrast.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/understanding/21/non-text-contrast.html b/understanding/21/non-text-contrast.html index 4c36d495b6..4df2c343e9 100644 --- a/understanding/21/non-text-contrast.html +++ b/understanding/21/non-text-contrast.html @@ -397,8 +397,8 @@

    User Interface Component contrast

    Graphics with sufficient contrast

    From aa53b8e860982fa64c8df0dae7e71090445b8403 Mon Sep 17 00:00:00 2001 From: Alastair Campbell Date: Tue, 15 Jan 2019 16:25:08 +0000 Subject: [PATCH 13/17] Call updates. --- understanding/21/non-text-contrast.html | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/understanding/21/non-text-contrast.html b/understanding/21/non-text-contrast.html index 4df2c343e9..1879741687 100644 --- a/understanding/21/non-text-contrast.html +++ b/understanding/21/non-text-contrast.html @@ -18,11 +18,9 @@

    Intent

    Active User Interface Components

    -

    For active controls that are not inactive or disabled, such as buttons and form fields: any visual information provided that is necessary for a user to identify that a control is present and how to operate it must have a minimum 3:1 contrast ratio with the adjacent colors. Also, any visual effects implemented which are necessary to indicate state, such as whether a component is selected or focused must also ensure that the information used to identify the control in that state has a minimum 3:1 contrast ratio.

    +

    For active controls such as buttons and form fields: any visual information provided that is necessary for a user to identify that a control is present and how to operate it must have a minimum 3:1 contrast ratio with the adjacent colors. Also, any visual information necessary to indicate state, such as whether a component is selected or focused must also ensure that the information used to identify the control in that state has a minimum 3:1 contrast ratio.

    This Success Criterion does not require that changes in color that differentiate between states of an individual component meet the 3:1 contrast ratio when they do not appear next to each other. For example, there is not a new requirement that visited links contrast with the default color, or that mouse hover indicators contrast with the default state. However, the component must not lose contrast with the adjacent colors, and non-text indicators such as the check in a checkbox, or an arrow graphic indicating a menu is selected or open must have sufficient contrast to the adjacent colors.

    - -

    Non-text information within controls that convey the value or state of an input, such as a 1-5 star indicator with a black outline for each star filled with either yellow (full) or white (empty) is likely to fail Use of color, rather than Non-text Contrast.

    Boundaries

    @@ -40,18 +38,18 @@

    Adjacent colors

    A standard text input with white adjacent color outside the component
    -

    If the inner background of the component provides contrast with the adjacent background color, a border can be ignored for the purpose of contrast. For example, an input with a light background on a dark background could have a dark or a light colored border. As the difference between backgrounds provides contrast, the border is not important for this success criterion.

    +

    If the inner background of the component provides contrast with the adjacent background color, a border can be ignored for the purpose of contrast. For example, an input that has a light background on the inside of the field and a dark background around it, could have a dark or a light colored border. As the difference between backgrounds provides contrast, the border is not important for this success criterion.

    A text box with a dark background and light border, with a white background.
    The contrast of the input background (white) and color adjacent to the control (dark blue) is sufficient. There is also a border (silver) on the component that is not required to contrast with either.
    -

    For visual information required to identify a state, such as the check in a checkbox or the thumb of a slider, that part might be within the component so the adjacent color might be with another part of the component.

    +

    For visual information required to identify a state, such as the check in a checkbox or the thumb of a slider, that part might be within the component so the adjacent color might be another part of the component.

    - A purple box with a light grey tick. -
    A customized checkbox with light grey tick, which has a contrast ratio of 5.6:1 with the purple box.
    + A purple box with a light grey check. +
    A customized checkbox with light grey check, which has a contrast ratio of 5.6:1 with the purple box.

    It is possible to use a flat design where the status indicator fills the component and does not contrast with the component, but does contrast with the colors adjacent to the component.

    @@ -65,9 +63,11 @@

    Relationship with Use of Color and Focus Visible

    The Use of Color success criterion addresses changing only the color (hue) of an object or text without otherwise altering the object's form. The principle is that contrast ratio (the difference in brightness) can be used to distinguish text or graphics. For example, G183 is a technique to use a contrast ratio of 3:1 with surrounding text to distinguish links and controls. In that case the Working Group regards a link color that meets the 3:1 contrast ratio relative to the non-linked text color as satisfying the Success Criteria 1.4.1 Use of Color since it is relying on contrast ratio as well as color (hue) to convey that the text is a link.

    + ***

    Non-text information within controls that uses a change of hue alone to convey the value or state of an input, such as a 1-5 star indicator with a black outline for each star filled with either yellow (full) or white (empty) is likely to fail Use of color, rather than Non-text Contrast.

    +

    Using a change of contrast for focus and other states is a technique to differentiate the states. This is the basis for G195: Using an author-supplied, highly visible focus indicator, and more techniques are being added.

    -

    The visual focus indicator for a component must have sufficient contrast against the adjacent background when the component is focused, except where the appearance of the component is determined by the user agent and not modified by the author. If the focus state relies on color (e.g., changing only the background color of a button), then changing from one color to another that has at least a 3:1 contrast ratio is a method for meeting 2.4.7 Focus Visible.

    +

    The visual focus indicator for a component must have sufficient contrast against the adjacent background when the component is focused, except where the appearance of the component is determined by the user agent and not modified by the author. If the focus state relies on color (e.g., changing only the background color of a button), then changing from one color to another that has at least a 3:1 contrast ratio with the previous state of the control is a method for meeting 2.4.7 Focus Visible.

    Active User Interface Component Examples

    From 3e6645c6d3a7b642ed8ecf9fa32066938bdf9130 Mon Sep 17 00:00:00 2001 From: Alastair Campbell Date: Wed, 16 Jan 2019 23:29:04 +0000 Subject: [PATCH 14/17] moving the change of hue section and adding pics. --- understanding/21/img/star-examples-fail.png | Bin 0 -> 34810 bytes understanding/21/img/star-examples-pass.png | Bin 0 -> 70934 bytes understanding/21/non-text-contrast.html | 17 +++++++++++++++-- 3 files changed, 15 insertions(+), 2 deletions(-) create mode 100644 understanding/21/img/star-examples-fail.png create mode 100644 understanding/21/img/star-examples-pass.png diff --git a/understanding/21/img/star-examples-fail.png b/understanding/21/img/star-examples-fail.png new file mode 100644 index 0000000000000000000000000000000000000000..623f10aaf858fda9026bcabaa1df8ab082976534 GIT binary patch literal 34810 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 k^1rYB|H~!&PybwFIBOa`B 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 colors

    The first radio button shows the default state, the second and third show the radio button selected, and filled with a color that contasts with the color adjacent to the component. The last example shows the state indicator contrasting with the component colors.
    -

    Relationship with Use of Color and Focus Visible

    +

    The Use of Color success criterion addresses changing only the color (hue) of an object or text without otherwise altering the object's form. The principle is that contrast ratio (the difference in brightness) can be used to distinguish text or graphics. For example, G183 is a technique to use a contrast ratio of 3:1 with surrounding text to distinguish links and controls. In that case the Working Group regards a link color that meets the 3:1 contrast ratio relative to the non-linked text color as satisfying the Success Criteria 1.4.1 Use of Color since it is relying on contrast ratio as well as color (hue) to convey that the text is a link.

    - ***

    Non-text information within controls that uses a change of hue alone to convey the value or state of an input, such as a 1-5 star indicator with a black outline for each star filled with either yellow (full) or white (empty) is likely to fail Use of color, rather than Non-text Contrast.

    +

    Non-text information within controls that uses a change of hue alone to convey the value or state of an input, such as a 1-5 star indicator with a black outline for each star filled with either yellow (full) or white (empty) is likely to fail Use of color, rather than Non-text Contrast.

    + +
    + Two star ratings, one uses a black outline (on white) with a black fill to indicate it is checked. The second has a yellow fill and a thicker dark border. +
    + Two examples which pass this success criteria, using either a solid fill to indicate a checked-state that has contrast, or a thicker border as well as yellow fill. +
    +
    +
    + Two star ratings, the first uses 5 stars with a black outline and a yellow or white fill, where yellow indicates checked. The second uses only pale yellow stars on white. +
    + Two examples which fail a success criteria, the first fails Use of color due to relying on yellow and white hues. The second example fails Non-text contrast due to the yellow to white contrast ratio of 1.2:1. +
    +

    Using a change of contrast for focus and other states is a technique to differentiate the states. This is the basis for G195: Using an author-supplied, highly visible focus indicator, and more techniques are being added.

    From 4532d1963c8d05d9a7dd1ce9a2e90c46771d5682 Mon Sep 17 00:00:00 2001 From: Alastair Campbell Date: Wed, 16 Jan 2019 23:39:19 +0000 Subject: [PATCH 15/17] Wording changes to make SC references consistent. --- understanding/21/non-text-contrast.html | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/understanding/21/non-text-contrast.html b/understanding/21/non-text-contrast.html index 288996aa01..3510ddece0 100644 --- a/understanding/21/non-text-contrast.html +++ b/understanding/21/non-text-contrast.html @@ -61,9 +61,9 @@

    Adjacent colors

    -

    The Use of Color success criterion addresses changing only the color (hue) of an object or text without otherwise altering the object's form. The principle is that contrast ratio (the difference in brightness) can be used to distinguish text or graphics. For example, G183 is a technique to use a contrast ratio of 3:1 with surrounding text to distinguish links and controls. In that case the Working Group regards a link color that meets the 3:1 contrast ratio relative to the non-linked text color as satisfying the Success Criteria 1.4.1 Use of Color since it is relying on contrast ratio as well as color (hue) to convey that the text is a link.

    +

    The Use of Color success criterion addresses changing only the color (hue) of an object or text without otherwise altering the object's form. The principle is that contrast ratio (the difference in brightness) can be used to distinguish text or graphics. For example, G183 is a technique to use a contrast ratio of 3:1 with surrounding text to distinguish links and controls. In that case the Working Group regards a link color that meets the 3:1 contrast ratio relative to the non-linked text color as satisfying the Success Criteria 1.4.1 Use of color since it is relying on contrast ratio as well as color (hue) to convey that the text is a link.

    -

    Non-text information within controls that uses a change of hue alone to convey the value or state of an input, such as a 1-5 star indicator with a black outline for each star filled with either yellow (full) or white (empty) is likely to fail Use of color, rather than Non-text Contrast.

    +

    Non-text information within controls that uses a change of hue alone to convey the value or state of an input, such as a 1-5 star indicator with a black outline for each star filled with either yellow (full) or white (empty) is likely to fail the Use of color criteria rather than this one.

    Two star ratings, one uses a black outline (on white) with a black fill to indicate it is checked. The second has a yellow fill and a thicker dark border. @@ -74,13 +74,13 @@
    Two star ratings, the first uses 5 stars with a black outline and a yellow or white fill, where yellow indicates checked. The second uses only pale yellow stars on white.
    - Two examples which fail a success criteria, the first fails Use of color due to relying on yellow and white hues. The second example fails Non-text contrast due to the yellow to white contrast ratio of 1.2:1. + Two examples which fail a success criteria, the first fails the Use of color criteria due to relying on yellow and white hues. The second example fails the Non-text contrast criteria due to the yellow to white contrast ratio of 1.2:1.

    Using a change of contrast for focus and other states is a technique to differentiate the states. This is the basis for G195: Using an author-supplied, highly visible focus indicator, and more techniques are being added.

    -

    The visual focus indicator for a component must have sufficient contrast against the adjacent background when the component is focused, except where the appearance of the component is determined by the user agent and not modified by the author. If the focus state relies on color (e.g., changing only the background color of a button), then changing from one color to another that has at least a 3:1 contrast ratio with the previous state of the control is a method for meeting 2.4.7 Focus Visible.

    +

    In combination with 2.4.7 Focus Visible, the visual focus indicator for a component must have sufficient contrast against the adjacent background when the component is focused, except where the appearance of the component is determined by the user agent and not modified by the author. If the focus state relies on a change of color (e.g., changing only the background color of a button), then changing from one color to another that has at least a 3:1 contrast ratio with the previous state of the control is a method for meeting the Focus visible criteria.

    Active User Interface Component Examples

    From dbc40b40ebe2c28a0dfb52f1b4e224c121fc5b08 Mon Sep 17 00:00:00 2001 From: Alastair Campbell Date: Thu, 17 Jan 2019 14:03:54 +0000 Subject: [PATCH 16/17] Correcting img tags. --- understanding/21/non-text-contrast.html | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/understanding/21/non-text-contrast.html b/understanding/21/non-text-contrast.html index 56dccf8342..5c96095f26 100644 --- a/understanding/21/non-text-contrast.html +++ b/understanding/21/non-text-contrast.html @@ -48,14 +48,14 @@

    Adjacent colors

    For visual information required to identify a state, such as the check in a checkbox or the thumb of a slider, that part might be within the component so the adjacent color might be another part of the component.

    - A purple box with a light grey check. + A purple box with a light grey check.
    A customized checkbox with light grey check, which has a contrast ratio of 5.6:1 with the purple box.

    It is possible to use a flat design where the status indicator fills the component and does not contrast with the component, but does contrast with the colors adjacent to the component.

    - Three radio buttons, the first a plain circle marked unselected. The second shows the circle filled with the same color as the border. The third has a slightly darker filling than the border. + Three radio buttons, the first a plain circle marked unselected. The second shows the circle filled with the same color as the border. The third has a slightly darker filling than the border.
    The first radio button shows the default state, the second and third show the radio button selected, and filled with a color that contasts with the color adjacent to the component. The last example shows the state indicator contrasting with the component colors.
    @@ -66,13 +66,13 @@

    Non-text information within controls that uses a change of hue alone to convey the value or state of an input, such as a 1-5 star indicator with a black outline for each star filled with either yellow (full) or white (empty) is likely to fail the Use of color criteria rather than this one.

    - Two star ratings, one uses a black outline (on white) with a black fill to indicate it is checked. The second has a yellow fill and a thicker dark border. + Two star ratings, one uses a black outline (on white) with a black fill to indicate it is checked. The second has a yellow fill and a thicker dark border.
    Two examples which pass this success criteria, using either a solid fill to indicate a checked-state that has contrast, or a thicker border as well as yellow fill.
    - Two star ratings, the first uses 5 stars with a black outline and a yellow or white fill, where yellow indicates checked. The second uses only pale yellow stars on white. + Two star ratings, the first uses 5 stars with a black outline and a yellow or white fill, where yellow indicates checked. The second uses only pale yellow stars on white.
    Two examples which fail a success criteria, the first fails the Use of color criteria due to relying on yellow and white hues. The second example fails the Non-text contrast criteria due to the yellow to white contrast ratio of 1.2:1.
    From 75f951e3da64674a220271bcae5130edf41c5ee6 Mon Sep 17 00:00:00 2001 From: Michael Cooper Date: Thu, 17 Jan 2019 09:47:52 -0500 Subject: [PATCH 17/17] fix width --- understanding/21/non-text-contrast.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/understanding/21/non-text-contrast.html b/understanding/21/non-text-contrast.html index 5c96095f26..e2ca05bb59 100644 --- a/understanding/21/non-text-contrast.html +++ b/understanding/21/non-text-contrast.html @@ -66,13 +66,13 @@

    Non-text information within controls that uses a change of hue alone to convey the value or state of an input, such as a 1-5 star indicator with a black outline for each star filled with either yellow (full) or white (empty) is likely to fail the Use of color criteria rather than this one.

    - Two star ratings, one uses a black outline (on white) with a black fill to indicate it is checked. The second has a yellow fill and a thicker dark border. + Two star ratings, one uses a black outline (on white) with a black fill to indicate it is checked. The second has a yellow fill and a thicker dark border.
    Two examples which pass this success criteria, using either a solid fill to indicate a checked-state that has contrast, or a thicker border as well as yellow fill.
    - Two star ratings, the first uses 5 stars with a black outline and a yellow or white fill, where yellow indicates checked. The second uses only pale yellow stars on white. + Two star ratings, the first uses 5 stars with a black outline and a yellow or white fill, where yellow indicates checked. The second uses only pale yellow stars on white.
    Two examples which fail a success criteria, the first fails the Use of color criteria due to relying on yellow and white hues. The second example fails the Non-text contrast criteria due to the yellow to white contrast ratio of 1.2:1.