{"id":465,"date":"2018-06-27T12:54:40","date_gmt":"2018-06-27T12:54:40","guid":{"rendered":"https:\/\/pressbooks.ulib.csuohio.edu\/accessibility\/?post_type=chapter&#038;p=465"},"modified":"2018-06-29T15:34:56","modified_gmt":"2018-06-29T15:34:56","slug":"chapter-5-1-wave-web-accessibility-evaluation-tool","status":"publish","type":"chapter","link":"https:\/\/pressbooks.ulib.csuohio.edu\/accessibility\/chapter\/chapter-5-1-wave-web-accessibility-evaluation-tool\/","title":{"rendered":"WAVE Web Accessibility Evaluation Tool"},"content":{"raw":"There are a variety of free web accessibility checkers available on the web. They can give you an idea of how accessible a <span>webpage<\/span> is, if you are requiring students or users to go there. I\u2019ll provide a list of free resources at the end of this lesson. We\u2019ll focus on WAVE web accessibility evaluation tool here<span><\/span>.\r\n\r\nWAVE, hosted by <span>webaim<\/span>.<span>org<\/span>, is available as a website and as an extension for Chrome browser. The <a href=\"http:\/\/wave.webaim.org\" target=\"_blank\" rel=\"noopener\">WAVE web accessibility evaluation tool<\/a> website is located at <span>http<\/span>:\/\/wave.<span>webaim<\/span>.<span>org<\/span>. Once on this page, you can enter the <span>url<\/span> of a web page to check its accessibility. The same tool exists in a form that will check the accessibility of password protected or internal pages, as well as public web pages. For this, install the <a href=\"https:\/\/chrome.google.com\/webstore\/detail\/wave-evaluation-tool\/jbbplnpkjmmeebjpijfedlgcdilocofh\" target=\"_blank\" rel=\"noopener\">WAVE extension for Chrome<\/a>. The WAVE Chrome extension will also allow you to evaluate pages that use <span>JavaScript<\/span>. <span>JavaScript<\/span> is stripped out of the page when displayed on the WAVE website evaluator. There is more <a href=\"http:\/\/wave.webaim.org\/extension\/\" target=\"_blank\" rel=\"noopener\">information about WAVE Chrome Extension<\/a> at <span>http<\/span>:\/\/wave.<span>webaim<\/span>.<span>org<\/span>\/extension\/.\u00a0 <span>Webaim<\/span> has a help page that explains <a href=\"http:\/\/wave.webaim.org\/help\" target=\"_blank\" rel=\"noopener\">how to use WAVE<\/a> at <span>http<\/span>:\/\/wave.<span>webaim<\/span>.<span>org<\/span>\/help.\r\n\r\nWAVE checks for compliance with many WCAG 2.0 guidelines, but no automated tool can check for all issues with the guidelines.\r\n\r\nOnce the analysis is run, WAVE presents a report on the top left side of the screen as well as embeds icons and indicators within the web page. You don\u2019t need extensive knowledge about web accessibility to benefit from the results. The RED icons indicate accessibility errors. If you get red icons, it is likely that someone with a disability will have difficulty accessing the content.\r\n\r\nBelow is a screen shot of a WAVE report for the internal landing page for a personal account within our library\u2019s system. This is a very clean page with few errors and warnings. You can see the \u201cW\u201d icon within a circle at the top left of the browser window. After I logged into my account at our library, I clicked on the Wave \u201cW\u201d icon at the top to run the web accessibility report. <span>I\u2019ve<\/span> added red arrows to point out embedded icons which WAVE added to the page. Red icons indicate problem areas. Yellow icons indicate warnings. Green icons indicate accessibility features (green icons) that may or may not be helpful to someone using a screen reader. \u00a0The blue icons indicate structural elements that have been included that can potentially help people using a screen reader or other <span>assistive<\/span> technology, navigate your page more efficiently.\r\n\r\n<img src=\"https:\/\/pressbooks.ulib.csuohio.edu\/accessibility\/wp-content\/uploads\/sites\/8\/2018\/06\/WAVE_markup.png\" alt=\"WAVE active on a web page, showing alert icons\" width=\"930\" height=\"642\" class=\"clear\" \/>\r\n\r\nI'll include a view of what the page looks like without the WAVE embedded icons below:\r\n\r\n<img src=\"https:\/\/pressbooks.ulib.csuohio.edu\/accessibility\/wp-content\/uploads\/sites\/8\/2018\/06\/webPage_beforeWAVEresults.gif\" alt=\"Web page before WAVE applied to it.\" width=\"935\" height=\"647\" class=\"clear\" \/>\r\n\r\nWhen you click on the icons embedded in the web page, you get more information about what each means. The top red icon with the white bubble, for example, says that the language for the page isn\u2019t specified. Setting the language is important for screen readers to read in the correct language. I\u2019ve personally heard JAWS switch from reading in English to reading in French once it ran into the word \u201cprerequisites\u201d in a syllabus. The author never intended for this to happen. If you are authoring an HTML page, you can set a language attribute on the HTML tag at the top of the document. The code would look like this for United States English:\r\n&lt;html lang=\"en-us\"&gt;.\r\n\r\n<img src=\"https:\/\/pressbooks.ulib.csuohio.edu\/accessibility\/wp-content\/uploads\/sites\/8\/2018\/06\/languageNotIndicated.png\" alt=\"A popup window for WAVE's red chat bubble icon. It says, &quot;Document language missing. The language of the document is not identified.&quot;\" width=\"663\" height=\"270\" class=\"alignleft size-full wp-image-473\" \/>\u00a0<img src=\"https:\/\/pressbooks.ulib.csuohio.edu\/accessibility\/wp-content\/uploads\/sites\/8\/2018\/06\/h1_warning.jpg\" alt=\"The popup window for WAVE's yellow h1 icon. It says, &quot;Missing first level heading. A page does not have a first level heading.&quot;\" width=\"663\" height=\"270\" class=\"clearRight\" \/>\r\n\r\nThe yellow \u201ch1\u201d warning icon to the right of the red icon states that there is no heading level 1 for this page. It\u2019s best to put a heading level 1 at the top of a web page to tell what the main topic of the page is. The visual headings on the page should be represented in the heading tag structure on the page, in the correct hierarchical order. There should be one h1 at the top of the page followed by heading level 2. Any subheadings would be represented by h3 through h6.\r\n<h2>Form Labels As An Example of An Important Accessibility Guideline<\/h2>\r\nForms are vital to business and education. It\u2019s impossible to get through college without having to fill out forms online. Even within courses students are asked to register with professional organizations, or register online with services that check for plagiarism, such as Turn-it-in.\u00a0 If you are directing your students or users to fill out a form, it\u2019s important that each input item in the form be coded with an \u201cid\u201d attribute that directly corresponds with a \u201cfor\u201d attribute of a form &lt;label&gt; element. <a href=\"https:\/\/www.w3.org\/TR\/WCAG20-TECHS\/H44.html#H44-tests\" target=\"_blank\" rel=\"noopener\">WCAG 2.0 techniques for <em>Using label elements to associate text labels with forms<\/em><\/a> also tests for visibility of the label for conformance. With explicit labeling, this code looks like the following for a text entry box asking for a first name:\r\n\r\n&lt;label <strong><em>for<\/em><\/strong>=\"<label for=\"\u201d&lt;span\"><span>firstname<\/span>\u201d&gt;First Name:&lt;\/label&gt;<\/label>\r\n\r\n&lt;input <em><strong>id<\/strong><\/em>=\"<span>firstname<\/span>\"\u00a0 name=\u201dfirstName\u201d type=\"text\"&gt;\r\n\r\nOn the web page this displays like the image below.\r\n\r\n<img src=\"https:\/\/pressbooks.ulib.csuohio.edu\/accessibility\/wp-content\/uploads\/sites\/8\/2018\/06\/FirstName_form_InputTextEntry.gif\" alt=\"Visual display of a properly coded form text entry box with an explicit label &quot;First Name&quot; to the left of the box.\" width=\"401\" height=\"76\" class=\"clearRight\" \/>\r\n\r\nWith explicit labeling, the user can click on the text \u201cFirst Name\u201d and the cursor will insert into the text entry box to the right of it, which helps people with mobility impairments who may have trouble clicking in small areas.\u00a0 Not only do these labels increase the area for a person with a mobility impairment to click on, in order to fill an input element such as a text entry box, they also help screen reader users know what they are supposed to be entering in a form input, such as their first name or last name.\u00a0 Fieldsets and legends are elements that should be used on pages with multiple forms to help the person filling out the forms distinguish between them. Fieldset tags group related form items and legends provide a title or short description of what the grouped form items are for, e.g. a home address. A good use of this would be when there is a set of inputs for a mailing address and another set of form inputs for a billing address.\r\n\r\nSimply putting the text \"First Name:\" next to the text entry box is not a reliable form of labeling. The same is true for forms that save space by placing the label inside the form input, such as shown below. Screen readers may read these, but there's no explicit connection between the labels and their inputs. Also, putting a form label inside of a text entry box, is not good for users with cognitive issues that include short term memory or attention. The label often disappears as soon as the user clicks within the box. If the person forgets what was needed for the input, she or he will have to back track out of the form input to discover what it is. I know it is hard to imagine, for some of us, what this is like. Keep in mind that we have a legal obligation to make our programs accessible to them. Nielsen Norman Group has an article about the <a target=\"_blank\" title=\"Nielsen Norman Group's article about placeholder text in form fields\" href=\"https:\/\/www.nngroup.com\/articles\/form-design-placeholders\/\" rel=\"noopener\">harmful impacts of placeholders in form fields for usability, accessibility and conversion<\/a>. Below is a screen shot of WAVE flagging form fields with labels inside the text entry boxes.\r\n\r\n<img src=\"https:\/\/pressbooks.ulib.csuohio.edu\/accessibility\/wp-content\/uploads\/sites\/8\/2018\/06\/WAVE_showing_Missing_Form_Label.png\" alt=\"WAVE showing Missing Form Label icons for text entry boxes with internally written labels that disappear when you start typing in them.\" width=\"408\" height=\"616\" class=\"clearRight\" \/>\r\n\r\nLeaving form labels as visible within the code is important for passing accessibility checks.\u00a0 In the WAVE analysis of the Scholar search form above, WAVE and other accessibility auditing applications yield an error for the form labels for the central search inputs. In a couple cases, this is not due to form labels not being present in the code, but because they aren't <em>visible<\/em>. Their display is set to \"<em>none<\/em>.\" Some screen readers will ignore content with styling that sets the visibility to \"<em>hidden<\/em>,\" or the display to \"<em>none<\/em>.\"\r\n\r\n<span class=\"mceItemHidden\">Listen to the following demonstration of NVDA reading the central form fields on the CSU <span class=\"mceItemHiddenSpellWord\">MyAccount<\/span> page. Listen with your eyes closed and imagine never having seen the page, as I tab through the form elements in order.<\/span>\r\n\r\n<span style=\"font-size: medium;\"><strong><a target=\"_blank\" title=\"This link takes you to a recording of NVDA reading out central form inputs with no visible labels and missing labels\" href=\"http:\/\/flash.ulib.csuohio.edu\/elearning\/caprette\/accessDemos\/NVDA_reading_ScholarMyAccount_SearchPage\/NVDA_reading_ScholarMyAccount_SearchPage.html\" rel=\"noopener\">Movie demonstration of NVDA reading non-displayed form labels and one check box with a missing label<\/a><\/strong><\/span>\r\n\r\nThe image below shows the red and white warning tags next to the form inputs that need visible form labels.\r\n\r\n<img src=\"https:\/\/pressbooks.ulib.csuohio.edu\/accessibility\/wp-content\/uploads\/sites\/8\/2018\/06\/WAVE_FormLabel_DisplaySetToNone-1024x283.gif\" alt=\"Popup in WAVE showing missing form label for a label whose display style is set to none.\" width=\"1024\" height=\"283\" class=\"clear\" \/>\r\n\r\nThe code for the inputs above looks like the following:\r\n<code>&lt;label for=\"searcharg\" style=\"<strong>display:none<\/strong>;\"&gt;Search Type&lt;\/label&gt;<\/code>\r\n&lt;input <strong>id=<\/strong>\"searcharg<strong>\"<\/strong> name=\"searcharg\" size=\"30\" onchange=\"return searchtoolSubmitAction()\" maxlength=\"75\" value=\"\" type=\"text\"&gt;\r\n\r\nA way to get around the issue of hiding a label visually, but making it available for screen reader users, is to use WAI ARIA. WAI ARIA is an extension of HTML. An <em>aria-label<\/em> attribute can be added to an input element to give it a label that is detected by assistive technology. Important to note here, is that there is no added benefit for people with mobility impairments, such as mouse users with tremors or spastic hand movements, needing a larger clickable area. The code for an aria-label would look like the following:\r\n\r\n&lt;input type=\"text\" name=\"search\" <strong>aria-label=\"Search\"<\/strong>&gt;\r\n&lt;button type=\"submit\"&gt; Search&lt;\/button&gt;\r\n\r\nIn another instance of a label error, the code lacks a form label. This is for the check box input next to the text, \"Limit to items which are not checked out.\" In this case, there is no label element above the input element. The code looks like the following:\r\n\r\n&lt;div&gt;\r\n&lt;input name=\"availlim\" value=\"1\" type=\"checkbox\"&gt;&lt;\/input&gt;\r\nLimit to items which are not checked out\r\n&lt;br\/&gt;&lt;br\/&gt;\r\n&lt;\/div&gt;\r\n\r\nThe following example shows problems with a form to join the American Nursing Association, an organization Nursing students are asked to join. The form lacks properly coded labels to associate form fields with their text descriptions. The labels are present, but the form inputs don't have corresponding id attributes to associate them with their labels. The yellow tag warning icons are next to the labels that have no corresponding input, and the red tag error icons are next to the form fields that aren't marked up to associate them with their labels. The ANA has a paper form that is meant to be printed and mailed in. It is an untagged PDF, with no form elements, and therefore not accessible to the blind and visually impaired. It\u2019s best to look for sites that have contact phone numbers with people that can help register a user who can\u2019t use their site. Alternatively, someone at CSU would need to help a blind or visually impaired person complete a form.\r\n\r\n<img src=\"https:\/\/pressbooks.ulib.csuohio.edu\/accessibility\/wp-content\/uploads\/sites\/8\/2018\/06\/WAVE_ANA_FormLabelAssocProblem-1024x741.gif\" alt=\"WAVE showing warnings for a missing form label and an orphaned form label on the American Nursing Association's site.\" width=\"1024\" height=\"741\" class=\"clear\" \/>\r\n\r\nWAVE extension for Chrome also has a tab at the upper left side to turn off presentation Styles to see the structure of the page. This button is called <strong>No Styles<\/strong><span class=\"mceItemHidden\">. When you click it, you'll see navigation as lists, hopefully headings to provide structure, as well as paragraphs of text. This structure is similar to what a screen reader sees and reads out. If the structure lacks lists for navigation, headings, or <span class=\"mceItemHiddenSpellWord\">fieldsets<\/span> with legends for multiple forms, this can be a warning sign that the page will be have to be read through from beginning to end by someone using a screen reader, and will be more time consuming to navigate. Below is a screen shot of what the form page above looks like with styles turned off.<\/span>\r\n\r\n<img src=\"https:\/\/pressbooks.ulib.csuohio.edu\/accessibility\/wp-content\/uploads\/sites\/8\/2018\/06\/WAVE_ANA_NoStylesTab-1024x744.gif\" alt=\"The display of a web page with WAVE's &quot;No Styles&quot; tool activated. This shows the simple structure of the page that the screen reader will read off.\" width=\"1024\" height=\"744\" class=\"clear\" \/>\r\n\r\n<span class=\"mceItemHidden\">WAVE also has a tab for checking color contrast, called Contrast, at the upper left. When you click on this, you'll get warning icons for areas where the text doesn't have a high enough contrast ratio with its background to pass WCAG 2.0 standards. The icons in red below, that have an ABC on them are areas with color contrast problems. There's no eye dropper tool to sample colors, so the <span class=\"mceItemHiddenSpellWord\">Paciello<\/span> groups <span class=\"mceItemHiddenSpellWord\">Colour<\/span> Contrast <span class=\"mceItemHiddenSpellWord\">Analyser<\/span> would be a much stronger tool to use to find color and contrast issues, and find color combinations that will pass WCAG 2.0 level AA.<\/span>\r\n\r\n<img src=\"https:\/\/pressbooks.ulib.csuohio.edu\/accessibility\/wp-content\/uploads\/sites\/8\/2018\/06\/WAVE_ANA_LowContrast_Tab-1024x743.gif\" alt=\"WAVE's Contrast tool showing areas where there is low contrast in the color of the gray text against grayish backgrounds.\" width=\"1024\" height=\"743\" class=\"clear\" \/>\r\n\r\n&nbsp;","rendered":"<p>There are a variety of free web accessibility checkers available on the web. They can give you an idea of how accessible a webpage is, if you are requiring students or users to go there. I\u2019ll provide a list of free resources at the end of this lesson. We\u2019ll focus on WAVE web accessibility evaluation tool here.<\/p>\n<p>WAVE, hosted by webaim.org, is available as a website and as an extension for Chrome browser. The <a href=\"http:\/\/wave.webaim.org\" target=\"_blank\" rel=\"noopener\">WAVE web accessibility evaluation tool<\/a> website is located at http:\/\/wave.webaim.org. Once on this page, you can enter the url of a web page to check its accessibility. The same tool exists in a form that will check the accessibility of password protected or internal pages, as well as public web pages. For this, install the <a href=\"https:\/\/chrome.google.com\/webstore\/detail\/wave-evaluation-tool\/jbbplnpkjmmeebjpijfedlgcdilocofh\" target=\"_blank\" rel=\"noopener\">WAVE extension for Chrome<\/a>. The WAVE Chrome extension will also allow you to evaluate pages that use JavaScript. JavaScript is stripped out of the page when displayed on the WAVE website evaluator. There is more <a href=\"http:\/\/wave.webaim.org\/extension\/\" target=\"_blank\" rel=\"noopener\">information about WAVE Chrome Extension<\/a> at http:\/\/wave.webaim.org\/extension\/.\u00a0 Webaim has a help page that explains <a href=\"http:\/\/wave.webaim.org\/help\" target=\"_blank\" rel=\"noopener\">how to use WAVE<\/a> at http:\/\/wave.webaim.org\/help.<\/p>\n<p>WAVE checks for compliance with many WCAG 2.0 guidelines, but no automated tool can check for all issues with the guidelines.<\/p>\n<p>Once the analysis is run, WAVE presents a report on the top left side of the screen as well as embeds icons and indicators within the web page. You don\u2019t need extensive knowledge about web accessibility to benefit from the results. The RED icons indicate accessibility errors. If you get red icons, it is likely that someone with a disability will have difficulty accessing the content.<\/p>\n<p>Below is a screen shot of a WAVE report for the internal landing page for a personal account within our library\u2019s system. This is a very clean page with few errors and warnings. You can see the \u201cW\u201d icon within a circle at the top left of the browser window. After I logged into my account at our library, I clicked on the Wave \u201cW\u201d icon at the top to run the web accessibility report. I\u2019ve added red arrows to point out embedded icons which WAVE added to the page. Red icons indicate problem areas. Yellow icons indicate warnings. Green icons indicate accessibility features (green icons) that may or may not be helpful to someone using a screen reader. \u00a0The blue icons indicate structural elements that have been included that can potentially help people using a screen reader or other assistive technology, navigate your page more efficiently.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/pressbooks.ulib.csuohio.edu\/accessibility\/wp-content\/uploads\/sites\/8\/2018\/06\/WAVE_markup.png\" alt=\"WAVE active on a web page, showing alert icons\" width=\"930\" height=\"642\" class=\"clear\" \/><\/p>\n<p>I&#8217;ll include a view of what the page looks like without the WAVE embedded icons below:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/pressbooks.ulib.csuohio.edu\/accessibility\/wp-content\/uploads\/sites\/8\/2018\/06\/webPage_beforeWAVEresults.gif\" alt=\"Web page before WAVE applied to it.\" width=\"935\" height=\"647\" class=\"clear\" \/><\/p>\n<p>When you click on the icons embedded in the web page, you get more information about what each means. The top red icon with the white bubble, for example, says that the language for the page isn\u2019t specified. Setting the language is important for screen readers to read in the correct language. I\u2019ve personally heard JAWS switch from reading in English to reading in French once it ran into the word \u201cprerequisites\u201d in a syllabus. The author never intended for this to happen. If you are authoring an HTML page, you can set a language attribute on the HTML tag at the top of the document. The code would look like this for United States English:<br \/>\n&lt;html lang=&#8221;en-us&#8221;&gt;.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/pressbooks.ulib.csuohio.edu\/accessibility\/wp-content\/uploads\/sites\/8\/2018\/06\/languageNotIndicated.png\" alt=\"A popup window for WAVE's red chat bubble icon. It says, &quot;Document language missing. The language of the document is not identified.&quot;\" width=\"663\" height=\"270\" class=\"alignleft size-full wp-image-473\" srcset=\"https:\/\/pressbooks.ulib.csuohio.edu\/accessibility\/wp-content\/uploads\/sites\/8\/2018\/06\/languageNotIndicated.png 663w, https:\/\/pressbooks.ulib.csuohio.edu\/accessibility\/wp-content\/uploads\/sites\/8\/2018\/06\/languageNotIndicated-300x122.png 300w, https:\/\/pressbooks.ulib.csuohio.edu\/accessibility\/wp-content\/uploads\/sites\/8\/2018\/06\/languageNotIndicated-65x26.png 65w, https:\/\/pressbooks.ulib.csuohio.edu\/accessibility\/wp-content\/uploads\/sites\/8\/2018\/06\/languageNotIndicated-225x92.png 225w, https:\/\/pressbooks.ulib.csuohio.edu\/accessibility\/wp-content\/uploads\/sites\/8\/2018\/06\/languageNotIndicated-350x143.png 350w\" sizes=\"auto, (max-width: 663px) 100vw, 663px\" \/>\u00a0<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/pressbooks.ulib.csuohio.edu\/accessibility\/wp-content\/uploads\/sites\/8\/2018\/06\/h1_warning.jpg\" alt=\"The popup window for WAVE's yellow h1 icon. It says, &quot;Missing first level heading. A page does not have a first level heading.&quot;\" width=\"663\" height=\"270\" class=\"clearRight\" \/><\/p>\n<p>The yellow \u201ch1\u201d warning icon to the right of the red icon states that there is no heading level 1 for this page. It\u2019s best to put a heading level 1 at the top of a web page to tell what the main topic of the page is. The visual headings on the page should be represented in the heading tag structure on the page, in the correct hierarchical order. There should be one h1 at the top of the page followed by heading level 2. Any subheadings would be represented by h3 through h6.<\/p>\n<h2>Form Labels As An Example of An Important Accessibility Guideline<\/h2>\n<p>Forms are vital to business and education. It\u2019s impossible to get through college without having to fill out forms online. Even within courses students are asked to register with professional organizations, or register online with services that check for plagiarism, such as Turn-it-in.\u00a0 If you are directing your students or users to fill out a form, it\u2019s important that each input item in the form be coded with an \u201cid\u201d attribute that directly corresponds with a \u201cfor\u201d attribute of a form &lt;label&gt; element. <a href=\"https:\/\/www.w3.org\/TR\/WCAG20-TECHS\/H44.html#H44-tests\" target=\"_blank\" rel=\"noopener\">WCAG 2.0 techniques for <em>Using label elements to associate text labels with forms<\/em><\/a> also tests for visibility of the label for conformance. With explicit labeling, this code looks like the following for a text entry box asking for a first name:<\/p>\n<p>&lt;label <strong><em>for<\/em><\/strong>=&#8221;<label for=\"\u201d&lt;span\">firstname\u201d&gt;First Name:&lt;\/label&gt;<\/label><\/p>\n<p>&lt;input <em><strong>id<\/strong><\/em>=&#8221;firstname&#8221;\u00a0 name=\u201dfirstName\u201d type=&#8221;text&#8221;&gt;<\/p>\n<p>On the web page this displays like the image below.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/pressbooks.ulib.csuohio.edu\/accessibility\/wp-content\/uploads\/sites\/8\/2018\/06\/FirstName_form_InputTextEntry.gif\" alt=\"Visual display of a properly coded form text entry box with an explicit label &quot;First Name&quot; to the left of the box.\" width=\"401\" height=\"76\" class=\"clearRight\" \/><\/p>\n<p>With explicit labeling, the user can click on the text \u201cFirst Name\u201d and the cursor will insert into the text entry box to the right of it, which helps people with mobility impairments who may have trouble clicking in small areas.\u00a0 Not only do these labels increase the area for a person with a mobility impairment to click on, in order to fill an input element such as a text entry box, they also help screen reader users know what they are supposed to be entering in a form input, such as their first name or last name.\u00a0 Fieldsets and legends are elements that should be used on pages with multiple forms to help the person filling out the forms distinguish between them. Fieldset tags group related form items and legends provide a title or short description of what the grouped form items are for, e.g. a home address. A good use of this would be when there is a set of inputs for a mailing address and another set of form inputs for a billing address.<\/p>\n<p>Simply putting the text &#8220;First Name:&#8221; next to the text entry box is not a reliable form of labeling. The same is true for forms that save space by placing the label inside the form input, such as shown below. Screen readers may read these, but there&#8217;s no explicit connection between the labels and their inputs. Also, putting a form label inside of a text entry box, is not good for users with cognitive issues that include short term memory or attention. The label often disappears as soon as the user clicks within the box. If the person forgets what was needed for the input, she or he will have to back track out of the form input to discover what it is. I know it is hard to imagine, for some of us, what this is like. Keep in mind that we have a legal obligation to make our programs accessible to them. Nielsen Norman Group has an article about the <a target=\"_blank\" title=\"Nielsen Norman Group's article about placeholder text in form fields\" href=\"https:\/\/www.nngroup.com\/articles\/form-design-placeholders\/\" rel=\"noopener\">harmful impacts of placeholders in form fields for usability, accessibility and conversion<\/a>. Below is a screen shot of WAVE flagging form fields with labels inside the text entry boxes.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/pressbooks.ulib.csuohio.edu\/accessibility\/wp-content\/uploads\/sites\/8\/2018\/06\/WAVE_showing_Missing_Form_Label.png\" alt=\"WAVE showing Missing Form Label icons for text entry boxes with internally written labels that disappear when you start typing in them.\" width=\"408\" height=\"616\" class=\"clearRight\" \/><\/p>\n<p>Leaving form labels as visible within the code is important for passing accessibility checks.\u00a0 In the WAVE analysis of the Scholar search form above, WAVE and other accessibility auditing applications yield an error for the form labels for the central search inputs. In a couple cases, this is not due to form labels not being present in the code, but because they aren&#8217;t <em>visible<\/em>. Their display is set to &#8220;<em>none<\/em>.&#8221; Some screen readers will ignore content with styling that sets the visibility to &#8220;<em>hidden<\/em>,&#8221; or the display to &#8220;<em>none<\/em>.&#8221;<\/p>\n<p><span class=\"mceItemHidden\">Listen to the following demonstration of NVDA reading the central form fields on the CSU <span class=\"mceItemHiddenSpellWord\">MyAccount<\/span> page. Listen with your eyes closed and imagine never having seen the page, as I tab through the form elements in order.<\/span><\/p>\n<p><span style=\"font-size: medium;\"><strong><a target=\"_blank\" title=\"This link takes you to a recording of NVDA reading out central form inputs with no visible labels and missing labels\" href=\"http:\/\/flash.ulib.csuohio.edu\/elearning\/caprette\/accessDemos\/NVDA_reading_ScholarMyAccount_SearchPage\/NVDA_reading_ScholarMyAccount_SearchPage.html\" rel=\"noopener\">Movie demonstration of NVDA reading non-displayed form labels and one check box with a missing label<\/a><\/strong><\/span><\/p>\n<p>The image below shows the red and white warning tags next to the form inputs that need visible form labels.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/pressbooks.ulib.csuohio.edu\/accessibility\/wp-content\/uploads\/sites\/8\/2018\/06\/WAVE_FormLabel_DisplaySetToNone-1024x283.gif\" alt=\"Popup in WAVE showing missing form label for a label whose display style is set to none.\" width=\"1024\" height=\"283\" class=\"clear\" \/><\/p>\n<p>The code for the inputs above looks like the following:<br \/>\n<code>&lt;label for=\"searcharg\" style=\"<strong>display:none<\/strong>;\"&gt;Search Type&lt;\/label&gt;<\/code><br \/>\n&lt;input <strong>id=<\/strong>&#8220;searcharg<strong>&#8220;<\/strong> name=&#8221;searcharg&#8221; size=&#8221;30&#8243; onchange=&#8221;return searchtoolSubmitAction()&#8221; maxlength=&#8221;75&#8243; value=&#8221;&#8221; type=&#8221;text&#8221;&gt;<\/p>\n<p>A way to get around the issue of hiding a label visually, but making it available for screen reader users, is to use WAI ARIA. WAI ARIA is an extension of HTML. An <em>aria-label<\/em> attribute can be added to an input element to give it a label that is detected by assistive technology. Important to note here, is that there is no added benefit for people with mobility impairments, such as mouse users with tremors or spastic hand movements, needing a larger clickable area. The code for an aria-label would look like the following:<\/p>\n<p>&lt;input type=&#8221;text&#8221; name=&#8221;search&#8221; <strong>aria-label=&#8221;Search&#8221;<\/strong>&gt;<br \/>\n&lt;button type=&#8221;submit&#8221;&gt; Search&lt;\/button&gt;<\/p>\n<p>In another instance of a label error, the code lacks a form label. This is for the check box input next to the text, &#8220;Limit to items which are not checked out.&#8221; In this case, there is no label element above the input element. The code looks like the following:<\/p>\n<p>&lt;div&gt;<br \/>\n&lt;input name=&#8221;availlim&#8221; value=&#8221;1&#8243; type=&#8221;checkbox&#8221;&gt;&lt;\/input&gt;<br \/>\nLimit to items which are not checked out<br \/>\n&lt;br\/&gt;&lt;br\/&gt;<br \/>\n&lt;\/div&gt;<\/p>\n<p>The following example shows problems with a form to join the American Nursing Association, an organization Nursing students are asked to join. The form lacks properly coded labels to associate form fields with their text descriptions. The labels are present, but the form inputs don&#8217;t have corresponding id attributes to associate them with their labels. The yellow tag warning icons are next to the labels that have no corresponding input, and the red tag error icons are next to the form fields that aren&#8217;t marked up to associate them with their labels. The ANA has a paper form that is meant to be printed and mailed in. It is an untagged PDF, with no form elements, and therefore not accessible to the blind and visually impaired. It\u2019s best to look for sites that have contact phone numbers with people that can help register a user who can\u2019t use their site. Alternatively, someone at CSU would need to help a blind or visually impaired person complete a form.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/pressbooks.ulib.csuohio.edu\/accessibility\/wp-content\/uploads\/sites\/8\/2018\/06\/WAVE_ANA_FormLabelAssocProblem-1024x741.gif\" alt=\"WAVE showing warnings for a missing form label and an orphaned form label on the American Nursing Association's site.\" width=\"1024\" height=\"741\" class=\"clear\" \/><\/p>\n<p>WAVE extension for Chrome also has a tab at the upper left side to turn off presentation Styles to see the structure of the page. This button is called <strong>No Styles<\/strong><span class=\"mceItemHidden\">. When you click it, you&#8217;ll see navigation as lists, hopefully headings to provide structure, as well as paragraphs of text. This structure is similar to what a screen reader sees and reads out. If the structure lacks lists for navigation, headings, or <span class=\"mceItemHiddenSpellWord\">fieldsets<\/span> with legends for multiple forms, this can be a warning sign that the page will be have to be read through from beginning to end by someone using a screen reader, and will be more time consuming to navigate. Below is a screen shot of what the form page above looks like with styles turned off.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/pressbooks.ulib.csuohio.edu\/accessibility\/wp-content\/uploads\/sites\/8\/2018\/06\/WAVE_ANA_NoStylesTab-1024x744.gif\" alt=\"The display of a web page with WAVE's &quot;No Styles&quot; tool activated. This shows the simple structure of the page that the screen reader will read off.\" width=\"1024\" height=\"744\" class=\"clear\" \/><\/p>\n<p><span class=\"mceItemHidden\">WAVE also has a tab for checking color contrast, called Contrast, at the upper left. When you click on this, you&#8217;ll get warning icons for areas where the text doesn&#8217;t have a high enough contrast ratio with its background to pass WCAG 2.0 standards. The icons in red below, that have an ABC on them are areas with color contrast problems. There&#8217;s no eye dropper tool to sample colors, so the <span class=\"mceItemHiddenSpellWord\">Paciello<\/span> groups <span class=\"mceItemHiddenSpellWord\">Colour<\/span> Contrast <span class=\"mceItemHiddenSpellWord\">Analyser<\/span> would be a much stronger tool to use to find color and contrast issues, and find color combinations that will pass WCAG 2.0 level AA.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/pressbooks.ulib.csuohio.edu\/accessibility\/wp-content\/uploads\/sites\/8\/2018\/06\/WAVE_ANA_LowContrast_Tab-1024x743.gif\" alt=\"WAVE's Contrast tool showing areas where there is low contrast in the color of the gray text against grayish backgrounds.\" width=\"1024\" height=\"743\" class=\"clear\" \/><\/p>\n<p>&nbsp;<\/p>\n","protected":false},"author":7,"menu_order":1,"template":"","meta":{"pb_show_title":"on","pb_short_title":"","pb_subtitle":"","pb_authors":["heather-caprette"],"pb_section_license":""},"chapter-type":[],"contributor":[61],"license":[],"class_list":["post-465","chapter","type-chapter","status-publish","hentry","contributor-heather-caprette"],"part":376,"_links":{"self":[{"href":"https:\/\/pressbooks.ulib.csuohio.edu\/accessibility\/wp-json\/pressbooks\/v2\/chapters\/465","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pressbooks.ulib.csuohio.edu\/accessibility\/wp-json\/pressbooks\/v2\/chapters"}],"about":[{"href":"https:\/\/pressbooks.ulib.csuohio.edu\/accessibility\/wp-json\/wp\/v2\/types\/chapter"}],"author":[{"embeddable":true,"href":"https:\/\/pressbooks.ulib.csuohio.edu\/accessibility\/wp-json\/wp\/v2\/users\/7"}],"version-history":[{"count":29,"href":"https:\/\/pressbooks.ulib.csuohio.edu\/accessibility\/wp-json\/pressbooks\/v2\/chapters\/465\/revisions"}],"predecessor-version":[{"id":548,"href":"https:\/\/pressbooks.ulib.csuohio.edu\/accessibility\/wp-json\/pressbooks\/v2\/chapters\/465\/revisions\/548"}],"part":[{"href":"https:\/\/pressbooks.ulib.csuohio.edu\/accessibility\/wp-json\/pressbooks\/v2\/parts\/376"}],"metadata":[{"href":"https:\/\/pressbooks.ulib.csuohio.edu\/accessibility\/wp-json\/pressbooks\/v2\/chapters\/465\/metadata\/"}],"wp:attachment":[{"href":"https:\/\/pressbooks.ulib.csuohio.edu\/accessibility\/wp-json\/wp\/v2\/media?parent=465"}],"wp:term":[{"taxonomy":"chapter-type","embeddable":true,"href":"https:\/\/pressbooks.ulib.csuohio.edu\/accessibility\/wp-json\/pressbooks\/v2\/chapter-type?post=465"},{"taxonomy":"contributor","embeddable":true,"href":"https:\/\/pressbooks.ulib.csuohio.edu\/accessibility\/wp-json\/wp\/v2\/contributor?post=465"},{"taxonomy":"license","embeddable":true,"href":"https:\/\/pressbooks.ulib.csuohio.edu\/accessibility\/wp-json\/wp\/v2\/license?post=465"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}