{"id":13659,"date":"2017-11-28T14:15:54","date_gmt":"2017-11-28T14:15:54","guid":{"rendered":"https:\/\/marvel7077.wpengine.com\/?p=13659"},"modified":"2020-08-25T16:48:53","modified_gmt":"2020-08-25T15:48:53","slug":"7-things-every-designer-needs-know-accessibility","status":"publish","type":"post","link":"https:\/\/marvelapp.com\/blog\/7-things-every-designer-needs-know-accessibility\/","title":{"rendered":"7 Things Every Designer Needs to Know about Accessibility"},"content":{"rendered":"<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\">Accessibility enables people with disabilities to perceive, understand, navigate, interact with, and contribute to the web. Imagine a world where developers know everything there is to know about accessibility. You design it and they build it\u2026 perfectly. In this world, only the design itself can cause people with disabilities to have trouble using a product.<\/p>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\">These guidelines will cover the major things you need to know in order for your products to be \u201cdesign-ready\u201d to meet the minimum of standards in <a class=\"link link--blue fontWeight-4\"href=\"http:\/\/www.section508.gov\/section-508-standards-guide\">Section 508 <\/a>and the <a class=\"link link--blue fontWeight-4\"href=\"http:\/\/www.w3.org\/TR\/WCAG20\/\">Web Content Accessibility Guidelines 2.0<\/a>. The rest will be up to development and quality testing.<\/p>\n<h2 class=\"pageWrap pageWrap--s marginTop-xl marginBottom-l c-black lineHeight-xl fontSize-xl fontWeight-5 breakPointM-lineHeight-xxl breakPointM-fontSize-xxl\" style=\"margin-left: auto; margin-right: auto;\">Accessibility is not a barrier to innovation<\/h2>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\">Accessibility will not force you to make a product that is ugly, boring, or cluttered. It will introduce a set of constraints to incorporate as you consider your design. These design constraints will give you new ideas to explore that will lead to better products for all of your users.<\/p>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\">As you read through these guidelines, consider that we don\u2019t want to design for our design peers.<\/p>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-13695 aligncenter\" src=\"https:\/\/marvel7077.wpengine.com\/wp-content\/uploads\/2017\/11\/image1.png\" alt=\"\" width=\"500\" height=\"750\" srcset=\"https:\/\/marvelapp.com\/wp-content\/uploads\/2017\/11\/image1.png 500w, https:\/\/marvelapp.com\/wp-content\/uploads\/2017\/11\/image1-400x600.png 400w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/p>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\">Eager to escape the tech bubble for a weekend, <a class=\"link link--blue fontWeight-4\"href=\"http:\/\/echothroughthefog.tumblr.com\/tagged\/designer+dude\">Designer Dude<\/a> and his circle of start-up friends went to Yosemite, where he spent most of his time <a class=\"link link--blue fontWeight-4\"href=\"http:\/\/dribbble.com\/\">dribbbling<\/a> on a <a class=\"link link--blue fontWeight-4\"href=\"https:\/\/slack.com\/\">slack<\/a>-<a class=\"link link--blue fontWeight-4\"href=\"http:\/\/line.me\/en\/\">line<\/a> near their <a class=\"link link--blue fontWeight-4\"href=\"http:\/\/basecamp.com\/\">basecamp<\/a>.<\/p>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\">Design for the diverse set of users who will interact with your products.<\/p>\n<div id=\"attachment_13697\" style=\"width: 1010px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-13697\" class=\"size-full wp-image-13697\" src=\"https:\/\/marvel7077.wpengine.com\/wp-content\/uploads\/2017\/11\/Image-2.png\" alt=\"\" width=\"1000\" height=\"666\" srcset=\"https:\/\/marvelapp.com\/wp-content\/uploads\/2017\/11\/Image-2.png 1000w, https:\/\/marvelapp.com\/wp-content\/uploads\/2017\/11\/Image-2-600x400.png 600w, https:\/\/marvelapp.com\/wp-content\/uploads\/2017\/11\/Image-2-768x511.png 768w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><p id=\"caption-attachment-13697\" class=\"wp-caption-text\">Design for everyone<\/p><\/div>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\">This can include people who are blind, color blind, or have low vision, those who are Deaf or have hearing difficulties, people with mobility impairments which may be temporary or permanent, or people with cognitive disabilities. Design for people who are young, old, power users, casual users, and those who just enjoy a quality experience.<\/p>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\">Embrace these accessibility guidelines as you would any set of design constraints. They are part of the challenge of creating amazing products.<\/p>\n<h2 class=\"pageWrap pageWrap--s marginTop-xl marginBottom-l c-black lineHeight-xl fontSize-xl fontWeight-5 breakPointM-lineHeight-xxl breakPointM-fontSize-xxl\" style=\"margin-left: auto; margin-right: auto;\">Don\u2019t use color as the only visual means of conveying information<\/h2>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\">This helps users who are unable to, or have difficulty with, distinguishing one color from another. This includes people who are color blind (1 in 12 men, 1 in 200 women), have low vision (1 in 30 people), or are blind (1 in 188 people).<\/p>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\"><strong class=\"c-slate lineHeight-l fontSize-l fontWeight-5 breakPointM-fontSize-xl breakPointM-lineHeight-xl\">Use color to highlight or complement what is already visible.<\/strong><\/p>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\">In this example shown in grayscale, how many fields would you say are in an error state?<\/p>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\"><center><div id=\"attachment_13698\" style=\"width: 313px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-13698\" class=\"size-full wp-image-13698\" src=\"https:\/\/marvel7077.wpengine.com\/wp-content\/uploads\/2017\/11\/image-3.png\" alt=\"\" width=\"303\" height=\"433\" \/><p id=\"caption-attachment-13698\" class=\"wp-caption-text\">How many fields are in an error\u00a0state?<\/p><\/div><\/center><\/p>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\">Most who see this in grayscale say the answer is one, the \u201chuman verification\u201d field. That is because the triangle with the exclamation mark inside indicates that something is amiss.<\/p>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\">Now look at this same screen in color. How many fields are in an error state?<\/p>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\"><center><div id=\"attachment_13700\" style=\"width: 394px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-13700\" class=\"size-full wp-image-13700\" src=\"https:\/\/marvel7077.wpengine.com\/wp-content\/uploads\/2017\/11\/Image4-.png\" alt=\"\" width=\"384\" height=\"551\" \/><p id=\"caption-attachment-13700\" class=\"wp-caption-text\">Turning on the color reveals a different story altogether<\/p><\/div><\/center><\/p>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\">With color the answer becomes, \u201call four\u201d.<\/p>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\">There are many acceptable ways to make this form visually accessible. You could put the red triangle icon in all of the error fields. You could use text to indicate and explain why a given field is in error. You could use tooltips, thick borders, bold text, underlines, italics, etc. The choices are infinite, but the only rule is to use more than color alone.<\/p>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\">How would <em>you<\/em> design this signup form so that color isn\u2019t the only visual means of showing a field with an error?<\/p>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\">Update: It turns out that the accessibility issue described above in the PayPal example is caused by the LastPass plugin in my browser. Thanks to Tony Amidei (<a class=\"link link--blue fontWeight-4\"href=\"https:\/\/twitter.com\/subface\">@subface<\/a>) from PayPal for pointing this out to me. As designed, the triangle icons should always appear on fields in an error state.<\/p>\n<h2 class=\"pageWrap pageWrap--s marginTop-xl marginBottom-l c-black lineHeight-xl fontSize-xl fontWeight-5 breakPointM-lineHeight-xxl breakPointM-fontSize-xxl\" style=\"margin-left: auto; margin-right: auto;\">Ensure sufficient contrast between text and its background<\/h2>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\"><a class=\"link link--blue fontWeight-4\"href=\"http:\/\/www.w3.org\/TR\/UNDERSTANDING-WCAG20\/visual-audio-contrast-contrast.html\">According to the WCAG<\/a>, the contrast ratio between text and a text\u2019s background should be at least 4.5 to 1. If your font is at least 24 px or 19 px bold, the minimum drops to 3 to 1.<\/p>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\">This guideline helps users with low vision, color blindness, or worsening vision see and read the text on your screen.<\/p>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\">This means that when text is 24 px, 19 px bold, or larger, the lightest gray you can use on a white background is #959595.<\/p>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\"><center><div id=\"attachment_6580\" style=\"width: 200px\" class=\"wp-caption aligncenter\"><a class=\"link link--blue fontWeight-4\"href=\"https:\/\/marvel7077.wpengine.com\/wp-content\/uploads\/2017\/11\/1rlBm6vidbbXu26efnYZWqA.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-6580\" class=\"wp-image-6580 size-full\" src=\"https:\/\/marvel7077.wpengine.com\/wp-content\/uploads\/2017\/11\/1rlBm6vidbbXu26efnYZWqA.png\" alt=\"\" width=\"190\" height=\"51\" \/><\/a><p id=\"caption-attachment-6580\" class=\"wp-caption-text\">#959595 text on a white background<\/p><\/div><\/center><\/p>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\">For smaller text, the lightest gray you can use on a white background is #767676. If you have a gray background, the text needs to be darker.<\/p>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\"><center><div id=\"attachment_6580\" style=\"width: 222px\" class=\"wp-caption aligncenter\"><a class=\"link link--blue fontWeight-4\"href=\"https:\/\/marvel7077.wpengine.com\/wp-content\/uploads\/2017\/11\/1rOaDGp5GtLG8Fn79pa34Gg.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-6580\" class=\"wp-image-6580 size-full\" src=\"https:\/\/marvel7077.wpengine.com\/wp-content\/uploads\/2017\/11\/1rOaDGp5GtLG8Fn79pa34Gg.png\" alt=\"\" width=\"212\" height=\"45\" \/><\/a><p id=\"caption-attachment-6580\" class=\"wp-caption-text\">#767676 text on a white background<\/p><\/div><\/center><\/p>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\">There are some great tools that can help you find an accessible color palette for your designs including <a class=\"link link--blue fontWeight-4\"href=\"http:\/\/colorsafe.co\/\">Color Safe<\/a>. There is also <a class=\"link link--blue fontWeight-4\"href=\"http:\/\/webaim.org\/resources\/contrastchecker\/\">WebAIM\u2019s Color Contrast Checker<\/a>, which will let you test colors you have already chosen.<\/p>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\">Logos or elements currently in a disabled state are exempt from this standard. This includes inactive buttons or menu items. Placeholder or ghost text for form fields are <strong class=\"c-slate lineHeight-l fontSize-l fontWeight-5 breakPointM-fontSize-xl breakPointM-lineHeight-xl\">not<\/strong> exempt from this standard.<\/p>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\">Here is an example from a popular blogging site with text contrast that is below standards. Only the contrast of the giant letter \u201cM\u201d meets standards.<\/p>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\"><center><div id=\"attachment_13713\" style=\"width: 393px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-13713\" class=\"wp-image-13713 size-full\" src=\"https:\/\/marvel7077.wpengine.com\/wp-content\/uploads\/2017\/11\/image5.png\" alt=\"\" width=\"383\" height=\"58\" \/><p id=\"caption-attachment-13713\" class=\"wp-caption-text\">Only the letter M meets minimum contrast standards<\/p><\/div><\/center><\/p>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\">The following example from the BBC shows a UI with passing color combinations. You can tell they are actively looking to pass contrast ratios since their lightest gray is #767676.<\/p>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\"><a><img class=\"aligncenter size-full wp-image-6580\" title=\"\" alt=\"\" \/><\/a><\/p>\n<div id=\"attachment_13712\" style=\"width: 995px\" class=\"wp-caption alignnone\"><a class=\"link link--blue fontWeight-4\"href=\"https:\/\/marvel7077.wpengine.com\/wp-content\/uploads\/2017\/11\/image6.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-13712\" class=\"size-full wp-image-13712\" src=\"https:\/\/marvel7077.wpengine.com\/wp-content\/uploads\/2017\/11\/image6.png\" alt=\"\" width=\"985\" height=\"629\" srcset=\"https:\/\/marvelapp.com\/wp-content\/uploads\/2017\/11\/image6.png 985w, https:\/\/marvelapp.com\/wp-content\/uploads\/2017\/11\/image6-600x383.png 600w, https:\/\/marvelapp.com\/wp-content\/uploads\/2017\/11\/image6-768x490.png 768w\" sizes=\"auto, (max-width: 985px) 100vw, 985px\" \/><\/a><p id=\"caption-attachment-13712\" class=\"wp-caption-text\">An example of passing color contrast\u00a0usage<\/p><\/div>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\">I am proud to work with the Salesforce Design Systems team, where they embraced color contrast guidelines for the Salesforce1 mobile application.<\/p>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\"><center><div id=\"attachment_6580\" style=\"width: 327px\" class=\"wp-caption aligncenter\"><a class=\"link link--blue fontWeight-4\"href=\"https:\/\/marvel7077.wpengine.com\/wp-content\/uploads\/2017\/11\/1o6kxU1Gm4SaOPpTmhPOg0A.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-6580\" class=\"wp-image-6580 size-full\" src=\"https:\/\/marvel7077.wpengine.com\/wp-content\/uploads\/2017\/11\/1o6kxU1Gm4SaOPpTmhPOg0A.png\" alt=\"\" width=\"317\" height=\"566\" \/><\/a><p id=\"caption-attachment-6580\" class=\"wp-caption-text\">Passing colors in Salesforce1<\/p><\/div><\/center><\/p>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\">Explore using high contrast color combinations. Designers who have gone through this exercise are often surprised by how much they prefer higher contrast designs. I am confident you too will find that displaying text using the minimum allowable contrast will not detract from your products.<\/p>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\">Check out <a class=\"link link--blue fontWeight-4\"href=\"https:\/\/medium.com\/salesforce-ux\/projectors-dont-lie-b85ef628b04\">Projectors Don\u2019t Lie<\/a> and <a class=\"link link--blue fontWeight-4\"href=\"https:\/\/medium.com\/salesforce-ux\/accessible-interface-design-d80e95cbb2c1\">Accessible Interface Design<\/a> for more on color contrast.<\/p>\n<h2 class=\"pageWrap pageWrap--s marginTop-xl marginBottom-l c-black lineHeight-xl fontSize-xl fontWeight-5 breakPointM-lineHeight-xxl breakPointM-fontSize-xxl\" style=\"margin-left: auto; margin-right: auto;\">Provide visual focus indication for keyboard\u00a0focus.<\/h2>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\">Let\u2019s take a moment to give thanks for the reset style sheet and all of the utility it has given the modern web designer. Without reset style sheets, it would be much more difficult to create a consistent experience across different devices and browsers.<\/p>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\">Let\u2019s now take a moment to blame reset style sheets for playing a role in one of the most widespread accessibility blunders on the Internet.<\/p>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\"><em>:focus {outline: 0;}<\/em><\/p>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\">This single line of CSS makes it nearly impossible for a sighted user to use a website with just a keyboard. Fortunately, since the initial CSS resets were released, many popular ones including <a class=\"link link--blue fontWeight-4\"href=\"http:\/\/meyerweb.com\/eric\/thoughts\/2011\/01\/03\/reset-revisited\/\">Eric Meyer\u2019s<\/a> have been updated to remove un-styling of the\u00a0:focus pseudo-class.<\/p>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\">The intent of un-styling focus was noble enough: remove default focus styles with the intention that designers and developers will replace them with something that is both visible and matches the style of their web pages. It\u2019s easy enough to dislike the grey dashed border focus on IE and Firefox or the blue halo in Chrome.<\/p>\n<div id=\"attachment_6580\" style=\"width: 881px\" class=\"wp-caption aligncenter\"><a class=\"link link--blue fontWeight-4\"href=\"https:\/\/marvel7077.wpengine.com\/wp-content\/uploads\/2017\/11\/1ADqQnz8LvA2ACpAsYrQH9w.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-6580\" class=\"wp-image-6580 size-full\" src=\"https:\/\/marvel7077.wpengine.com\/wp-content\/uploads\/2017\/11\/1ADqQnz8LvA2ACpAsYrQH9w.png\" alt=\"\" width=\"871\" height=\"325\" \/><\/a><p id=\"caption-attachment-6580\" class=\"wp-caption-text\">Default visual focus states for Chrome and\u00a0Firefox<\/p><\/div>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\">The problem is, most websites do not create their own focus styles. These focus indicators, which are fundamental to the success of keyboard users, are largely absent on the web.<\/p>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\">As a quick exercise to experience a website that doesn\u2019t always provide visual focus, open a tab and visit the website for the company who makes your mobile phone. Press the Tab key repeatedly to navigate through the page. Do you see a visual focus indicator as you navigate? Maybe you see this for some links on the page but not all? Consider the effect this has on someone who only uses a keyboard to interact with the web.<\/p>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\">If you\u2019re on a Mac, you may need to enable Full Keyboard Access under System Preferences &gt; Keyboard &gt; Shortcuts. It\u2019s at the bottom.<\/p>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\"><a class=\"link link--blue fontWeight-4\"href=\"https:\/\/marvel7077.wpengine.com\/wp-content\/uploads\/2017\/11\/1j7NH2HQiSo8Ly7KOgGx-nA.png\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-6580\" src=\"https:\/\/marvel7077.wpengine.com\/wp-content\/uploads\/2017\/11\/1j7NH2HQiSo8Ly7KOgGx-nA.png\" title=\"\" alt=\"\" \/><\/a><\/p>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\"><\/p>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\">If you remove default focus, replace it with something that is *better* than what your browser provides.<\/p>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\">In the example below, the BBC uses a color bar to indicate which section\u2019s link is in focus.<\/p>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\"><center><a class=\"link link--blue fontWeight-4\"href=\"https:\/\/marvel7077.wpengine.com\/wp-content\/uploads\/2017\/11\/0_BNrgAFEkXG8HxbA1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-13711\" src=\"https:\/\/marvel7077.wpengine.com\/wp-content\/uploads\/2017\/11\/0_BNrgAFEkXG8HxbA1.png\" alt=\"\" width=\"543\" height=\"41\" \/><\/a><\/center><\/p>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\">Twitter uses a combination of default focus and a tooltip to show keyboard focus. The icon also goes from gray to green. That\u2019s three separate visuals to indicate focus for keyboard users.<\/p>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\"><center><a class=\"link link--blue fontWeight-4\"href=\"https:\/\/marvel7077.wpengine.com\/wp-content\/uploads\/2017\/11\/image8.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-13710\" src=\"https:\/\/marvel7077.wpengine.com\/wp-content\/uploads\/2017\/11\/image8.png\" alt=\"\" width=\"386\" height=\"170\" \/><\/a><\/center><\/p>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\">When providing your own focus states, just be sure to remove the default state so that you don\u2019t get something looking like this example where Chrome\u2019s blue rectangle overlaps this menu\u2019s blue pill.<\/p>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\"><center><div id=\"attachment_13709\" style=\"width: 157px\" class=\"wp-caption alignnone\"><a class=\"link link--blue fontWeight-4\"href=\"https:\/\/marvel7077.wpengine.com\/wp-content\/uploads\/2017\/11\/image9.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-13709\" class=\"wp-image-13709 size-full\" src=\"https:\/\/marvel7077.wpengine.com\/wp-content\/uploads\/2017\/11\/image9.png\" alt=\"\" width=\"147\" height=\"167\" \/><\/a><p id=\"caption-attachment-13709\" class=\"wp-caption-text\">While ugly, this isn\u2019t \u201ccaused\u201d by accessibility<\/p><\/div><\/center><\/p>\n<h2 class=\"pageWrap pageWrap--s marginTop-xl marginBottom-l c-black lineHeight-xl fontSize-xl fontWeight-5 breakPointM-lineHeight-xxl breakPointM-fontSize-xxl\" style=\"margin-left: auto; margin-right: auto;\">Be careful with\u00a0forms.<\/h2>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\">In recent years we have experienced a de-evolution in form fields. Modern designs have foregone traditional identifying attributes and interactive affordances in favor of a more minimalist approach. Today\u2019s forms lack two specific items that are vital for accessibility: clearly defined boundaries and visible labels.<\/p>\n<h3 class=\"pageWrap pageWrap--s marginTop-l marginBottom-m c-black lineHeight-xl fontSize-xl fontWeight-5\">Forms without\u00a0Borders<\/h3>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\">Below is an example of a traditional text input. It is a rectangle with a defined boundary. It can be filled with color, but does not have to be filled. There is also a visible label, which in this example sits to the left of the field.<\/p>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\"><center><div id=\"attachment_13708\" style=\"width: 310px\" class=\"wp-caption alignnone\"><a class=\"link link--blue fontWeight-4\"href=\"https:\/\/marvel7077.wpengine.com\/wp-content\/uploads\/2017\/11\/image10.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-13708\" class=\"wp-image-13708 size-full\" src=\"https:\/\/marvel7077.wpengine.com\/wp-content\/uploads\/2017\/11\/image10.png\" alt=\"\" width=\"300\" height=\"59\" \/><\/a><p id=\"caption-attachment-13708\" class=\"wp-caption-text\">A modest text input\u00a0field<\/p><\/div><\/center><\/p>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\">Clearly defined boundaries for form fields are important for users with mobility impairments and those with cognitive disabilities. Knowing the location and size of the click target is important for people using a standard or <a class=\"link link--blue fontWeight-4\"href=\"http:\/\/iuadapts.indiana.edu\/technology\/hardware\/mice\/index.html\">adaptive pointing device<\/a>. Users with cognitive disabilities may have difficultly finding and interacting with fields without common visual cues.<\/p>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\">Below is an example of a search field from a popular note-taking app.<\/p>\n<div id=\"attachment_13707\" style=\"width: 366px\" class=\"wp-caption alignnone\"><a class=\"link link--blue fontWeight-4\"href=\"https:\/\/marvel7077.wpengine.com\/wp-content\/uploads\/2017\/11\/image-11.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-13707\" class=\"size-full wp-image-13707\" src=\"https:\/\/marvel7077.wpengine.com\/wp-content\/uploads\/2017\/11\/image-11.png\" alt=\"\" width=\"356\" height=\"156\" \/><\/a><p id=\"caption-attachment-13707\" class=\"wp-caption-text\">Where would I click if I wanted to enter in a search term? The cursor was removed for emphasis.<\/p><\/div>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\">There is only one input on this screen. Can you guess the boundaries of the form field? Clicking anywhere on the words, \u201csearch notes\u201d, will place you inside of the input.<\/p>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\">Here is another example form fields without boundaries from a popular blogging platform. Below there are two input fields on the page. Where on the screen can I click in order to enter the \u201cTell your story\u2026\u201d text area?<\/p>\n<div id=\"attachment_6580\" style=\"width: 607px\" class=\"wp-caption aligncenter\"><a class=\"link link--blue fontWeight-4\"href=\"https:\/\/marvel7077.wpengine.com\/wp-content\/uploads\/2017\/11\/1T8z2EeDpJz49Xg9SuYlhXw.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-6580\" class=\"wp-image-6580 size-full\" src=\"https:\/\/marvel7077.wpengine.com\/wp-content\/uploads\/2017\/11\/1T8z2EeDpJz49Xg9SuYlhXw.png\" alt=\"\" width=\"597\" height=\"448\" \/><\/a><p id=\"caption-attachment-6580\" class=\"wp-caption-text\">Where does one click to tell their\u00a0story?<\/p><\/div>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\">Here is the same screen shot with a blue rectangle added to show the boundaries of the text area. If you click anywhere below this region, nothing happens.<\/p>\n<div id=\"attachment_6580\" style=\"width: 607px\" class=\"wp-caption aligncenter\"><a class=\"link link--blue fontWeight-4\"href=\"https:\/\/marvel7077.wpengine.com\/wp-content\/uploads\/2017\/11\/1BTZJzKyh_QDGMQoRReWlzw.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-6580\" class=\"wp-image-6580 size-full\" src=\"https:\/\/marvel7077.wpengine.com\/wp-content\/uploads\/2017\/11\/1BTZJzKyh_QDGMQoRReWlzw.png\" alt=\"\" width=\"597\" height=\"351\" \/><\/a><p id=\"caption-attachment-6580\" class=\"wp-caption-text\">If you click outside of the blue box, nothing will\u00a0happen<\/p><\/div>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\">Below is another example of a note-taking design. This also does not use traditional input visuals, but provides users with disabilities more information. The title of the note goes between the two horizontal lines, and the user can click anywhere between the bottom two lines to begin typing their note.<\/p>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\"><center><div id=\"attachment_6580\" style=\"width: 452px\" class=\"wp-caption aligncenter\"><a class=\"link link--blue fontWeight-4\"href=\"https:\/\/marvel7077.wpengine.com\/wp-content\/uploads\/2017\/11\/1pElu7shS8G92yqrOTE4Waw.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-6580\" class=\"wp-image-6580 size-full\" src=\"https:\/\/marvel7077.wpengine.com\/wp-content\/uploads\/2017\/11\/1pElu7shS8G92yqrOTE4Waw.png\" alt=\"\" width=\"442\" height=\"386\" \/><\/a><p id=\"caption-attachment-6580\" class=\"wp-caption-text\">Non-standard, but still with enough cues for users with disabilities<\/p><\/div><\/center><\/p>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\">Can you think of some other options for these designers? How would you design a note taking or blog publishing app?<\/p>\n<h3 class=\"pageWrap pageWrap--s marginTop-l marginBottom-m c-black lineHeight-xl fontSize-xl fontWeight-5\">Forms without\u00a0Labels<\/h3>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\">Labels tell the user the purpose of the field, maintain their usefulness when focus is placed inside of the field and remain even after completing the field. Placeholder text is a poor replacement for a visual label.<\/p>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\">They are typically of low contrast. Of the seven examples below, only one has enough contrast to meet our needed 4.5:1 ratio.<\/p>\n<div id=\"attachment_6580\" style=\"width: 910px\" class=\"wp-caption aligncenter\"><a class=\"link link--blue fontWeight-4\"href=\"https:\/\/marvel7077.wpengine.com\/wp-content\/uploads\/2017\/11\/1kHRRhIPx8yb-TanFha3Ggg.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-6580\" class=\"wp-image-6580 size-full\" src=\"https:\/\/marvel7077.wpengine.com\/wp-content\/uploads\/2017\/11\/1kHRRhIPx8yb-TanFha3Ggg.png\" alt=\"\" width=\"900\" height=\"398\" \/><\/a><p id=\"caption-attachment-6580\" class=\"wp-caption-text\">Only the \u201cSearch Twitter\u201d placeholder has the minimum required contrast\u00a0level.<\/p><\/div>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\">Placeholder text goes away. In the examples below, what am I supposed to enter into the text field? For the JetBlue example should I enter my username, my email address, or my TrueBlue number? For the Caviar example, should I \u201cGet Started\u201d by typing in my favorite food, a preferred restaurant, or my address? Are the price fields for min and max, over and under, or before and after?<\/p>\n<div id=\"attachment_6580\" style=\"width: 916px\" class=\"wp-caption aligncenter\"><a class=\"link link--blue fontWeight-4\"href=\"https:\/\/marvel7077.wpengine.com\/wp-content\/uploads\/2017\/11\/1zTDCz2B_Se005nG2pYO47w.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-6580\" class=\"wp-image-6580 size-full\" src=\"https:\/\/marvel7077.wpengine.com\/wp-content\/uploads\/2017\/11\/1zTDCz2B_Se005nG2pYO47w.png\" alt=\"\" width=\"906\" height=\"376\" \/><\/a><p id=\"caption-attachment-6580\" class=\"wp-caption-text\">Without labels, it may be difficult to know what to type in an\u00a0input.<\/p><\/div>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\"><\/p>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\">Here is a more accessible way of designing the Price compound field shown above. We will see the labels, min and max, even after we fill in the fields.<\/p>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\"><center><div id=\"attachment_6580\" style=\"width: 331px\" class=\"wp-caption aligncenter\"><a class=\"link link--blue fontWeight-4\"href=\"https:\/\/marvel7077.wpengine.com\/wp-content\/uploads\/2017\/11\/1AhJDVHKxgvgdjoKqb6ta4g.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-6580\" class=\"wp-image-6580 size-full\" src=\"https:\/\/marvel7077.wpengine.com\/wp-content\/uploads\/2017\/11\/1AhJDVHKxgvgdjoKqb6ta4g.png\" alt=\"\" width=\"321\" height=\"93\" \/><\/a><p id=\"caption-attachment-6580\" class=\"wp-caption-text\">Compound fields with visible\u00a0labels<\/p><\/div><\/center><\/p>\n<h2 class=\"pageWrap pageWrap--s marginTop-xl marginBottom-l c-black lineHeight-xl fontSize-xl fontWeight-5 breakPointM-lineHeight-xxl breakPointM-fontSize-xxl\" style=\"margin-left: auto; margin-right: auto;\">Avoid component identity\u00a0crises.<\/h2>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\"><em>Q: When is a menu no longer a\u00a0menu?<br \/>\nA: When it\u2019s a non-modal dialog.<\/em><\/p>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\">This question is at the core of today\u2019s biggest web accessibility problems. In order to understand this fully, consider the <a class=\"link link--blue fontWeight-4\"href=\"http:\/\/www.w3.org\/TR\/wai-aria-practices\/#aria_ex\">W3C\u2019s Authoring Practices for Design Patterns<\/a>. This is the guide for how to build an accessible version of many of today\u2019s common design patterns including menus, modals, autocompletes, trees, tabsets, and many others.<\/p>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\">Each of these patterns have a specific set of expected HTML semantics, keyboard behaviors and <a class=\"link link--blue fontWeight-4\"href=\"http:\/\/www.w3.org\/WAI\/intro\/aria.php\">ARIA<\/a> attribute usage. These ARIA attributes instruct screen reader users on how to interact with a component when using the keyboard. They also provide status updates while the user is interacting with a component. For instance, they instruct people interacting with a menu to use the arrow keys to move up and down the list.<\/p>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\">Meet the humble autocomplete typeahead.<\/p>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\"><center><div id=\"attachment_13706\" style=\"width: 810px\" class=\"wp-caption alignnone\"><a class=\"link link--blue fontWeight-4\"href=\"https:\/\/marvel7077.wpengine.com\/wp-content\/uploads\/2017\/11\/image12.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-13706\" class=\"wp-image-13706 size-full\" src=\"https:\/\/marvel7077.wpengine.com\/wp-content\/uploads\/2017\/11\/image12.png\" alt=\"\" width=\"800\" height=\"597\" srcset=\"https:\/\/marvelapp.com\/wp-content\/uploads\/2017\/11\/image12.png 800w, https:\/\/marvelapp.com\/wp-content\/uploads\/2017\/11\/image12-600x448.png 600w, https:\/\/marvelapp.com\/wp-content\/uploads\/2017\/11\/image12-768x573.png 768w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/a><p id=\"caption-attachment-13706\" class=\"wp-caption-text\">A autocomplete typeahead<\/p><\/div><\/center><\/p>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\">Here is the same typeahead, but with icons next to each list item.<\/p>\n<div id=\"attachment_13705\" style=\"width: 1010px\" class=\"wp-caption alignnone\"><a class=\"link link--blue fontWeight-4\"href=\"https:\/\/marvel7077.wpengine.com\/wp-content\/uploads\/2017\/11\/image13.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-13705\" class=\"size-full wp-image-13705\" src=\"https:\/\/marvel7077.wpengine.com\/wp-content\/uploads\/2017\/11\/image13.png\" alt=\"\" width=\"1000\" height=\"1223\" srcset=\"https:\/\/marvelapp.com\/wp-content\/uploads\/2017\/11\/image13.png 1000w, https:\/\/marvelapp.com\/wp-content\/uploads\/2017\/11\/image13-491x600.png 491w, https:\/\/marvelapp.com\/wp-content\/uploads\/2017\/11\/image13-768x939.png 768w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/a><p id=\"caption-attachment-13705\" class=\"wp-caption-text\">In this autocomplete, icons are used for object disambiguation.<\/p><\/div>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\">These are essentially the same exact UI pattern. The user types into an input field. A box of results filtered on the entered text appears below. The user can then use the arrow keys or mouse to locate and select an item from the list.<\/p>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\">The example below is an autocomplete with an identity crisis. Not only can the user filter and select an item from a list, they can choose to edit or delete each list item by clicking on the pencil or trash can icon. The addition of these two buttons is what gives this autocomplete an identity crisis.<\/p>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\"><center><div id=\"attachment_13704\" style=\"width: 215px\" class=\"wp-caption alignnone\"><a class=\"link link--blue fontWeight-4\"href=\"https:\/\/marvel7077.wpengine.com\/wp-content\/uploads\/2017\/11\/image14.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-13704\" class=\"size-full wp-image-13704\" src=\"https:\/\/marvel7077.wpengine.com\/wp-content\/uploads\/2017\/11\/image14.png\" alt=\"\" width=\"205\" height=\"222\" \/><\/a><p id=\"caption-attachment-13704\" class=\"wp-caption-text\">An autocomplete with a hidden feature set that cannot be communicated to assistive technology through standard techniques.<\/p><\/div><\/center><\/p>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\">This causes accessibility problems in part because it breaks form with the standard keyboard interaction model for an autocomplete. Assistive technology cannot always communicate the identity, operation, and state of confused components, as the W3C\u2019s WAI has not defined a specification for communicating this type of UI.<\/p>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\">The same rule holds true for menus. In the examples below from Virgin America, while very similar visually, only the drop down on the right is an actual \u201cmenu\u201d. The one on the left is a non-modal dialog.<\/p>\n<div id=\"attachment_6580\" style=\"width: 852px\" class=\"wp-caption aligncenter\"><a class=\"link link--blue fontWeight-4\"href=\"https:\/\/marvel7077.wpengine.com\/wp-content\/uploads\/2017\/11\/167YpMl-31t9q3WYBnVSpZQ.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-6580\" class=\"wp-image-6580 size-full\" src=\"https:\/\/marvel7077.wpengine.com\/wp-content\/uploads\/2017\/11\/167YpMl-31t9q3WYBnVSpZQ.png\" alt=\"\" width=\"842\" height=\"352\" \/><\/a><p id=\"caption-attachment-6580\" class=\"wp-caption-text\">The \u201cFrom\u201d dropdown is a menu. The \u201cGuests\u201d dropdown is a non-modal dialog as defined by the W3C\u2019s\u00a0WAI.<\/p><\/div>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\"><\/p>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\">A menu is a widget that offers the user a list of choices. As soon as we offer multiple choices per row, as the example on the left does, we no longer have a menu. This changes the keyboard interaction model from using arrow keys, to using the tab key. It changes how keyboard focus is handled and where it goes once the dropdown is closed.<\/p>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\">Unlike in the example above with autocompletes, non-modal dialogs can fortunately be made accessible. Know the difference between them and the effect it has on the user experience. Understand how minor design changes could lead to changes in a user\u2019s interaction model. This will enable you to choose the appropriate pattern for your product.<\/p>\n<h2 class=\"pageWrap pageWrap--s marginTop-xl marginBottom-l c-black lineHeight-xl fontSize-xl fontWeight-5 breakPointM-lineHeight-xxl breakPointM-fontSize-xxl\" style=\"margin-left: auto; margin-right: auto;\">Don\u2019t make people hover to find\u00a0things<\/h2>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\">This principle mainly serves people with motor-related disabilities. This includes keyboard-only users who have vision, and those who use speech recognition tools like <a class=\"link link--blue fontWeight-4\"href=\"http:\/\/www.nuance.com\/dragon\/index.htm\">Dragon NaturallySpeaking<\/a> to interact with web pages. Keyboard users and assistive technologies like Dragon rely on actionable items being visible on the screen. If a link or button cannot be seen by Dragon, it cannot be verbally \u201cclicked\u201d. If a keyboard-only user cannot see that a button exists on a page, how can we expect them to navigate to the empty space where it will ultimately appear?<\/p>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\">Below is a screen shot from Gmail with Dragon Naturally Speaking showing an overlay with hyperlinks identified by number. The user can now speak a number out loud and activate a link. What happens if a link isn\u2019t visible until a region is hovered upon? We would have numbers showing next to empty spaces.<\/p>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\"><a><img class=\"aligncenter size-full wp-image-6580\" \/><\/a><\/p>\n<div id=\"attachment_13703\" style=\"width: 810px\" class=\"wp-caption alignnone\"><a class=\"link link--blue fontWeight-4\"href=\"https:\/\/marvel7077.wpengine.com\/wp-content\/uploads\/2017\/11\/image15.jpeg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-13703\" class=\"size-full wp-image-13703\" src=\"https:\/\/marvel7077.wpengine.com\/wp-content\/uploads\/2017\/11\/image15.jpeg\" alt=\"\" width=\"800\" height=\"307\" srcset=\"https:\/\/marvelapp.com\/wp-content\/uploads\/2017\/11\/image15.jpeg 800w, https:\/\/marvelapp.com\/wp-content\/uploads\/2017\/11\/image15-600x230.jpeg 600w, https:\/\/marvelapp.com\/wp-content\/uploads\/2017\/11\/image15-768x295.jpeg 768w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/a><p id=\"caption-attachment-13703\" class=\"wp-caption-text\">Dragon identifying hyperlinks by number. Say the number out loud to click a\u00a0link.<\/p><\/div>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\">I understand how this practice of hiding actionable items under hover states gained popularity. It serves as a solution to the well-established usability heuristic noted by Computer scientist Alan Kay.<\/p>\n<blockquote class=\"pageWrap pageWrap--s position-relative marginTopBottom-l breakPointM-marginTopBottom-xl\"><div class=\"blog-quote-before position-absolute bg-marvel\"><\/div><div class=\"tweet-quote blog-quote-after position-absolute bg-marvel cursor-pointer transitionDuration-l transitionProperty-all transitionTimingFunction-cv-easeOutCircular scaleUp--hover zi-weak\"><svg class=\"fill-white opacity-0 pointerEvents-none position-absolute pinCenter transitionProperty-all transitionTimingFunction-easeInOut\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"24\" height=\"20\" viewBox=\"0 0 24 20\"><path d=\"M24,2.37a9.64,9.64,0,0,1-2.83.79A5,5,0,0,0,23.34.37a9.72,9.72,0,0,1-3.13,1.23A4.86,4.86,0,0,0,16.62,0a5,5,0,0,0-4.8,6.2A13.87,13.87,0,0,1,1.67.92,5.13,5.13,0,0,0,3.19,7.67,4.81,4.81,0,0,1,1,7a5,5,0,0,0,3.95,5,4.82,4.82,0,0,1-2.22.09,4.94,4.94,0,0,0,4.6,3.51A9.72,9.72,0,0,1,0,17.73,13.69,13.69,0,0,0,7.55,20c9.14,0,14.31-7.92,14-15A10.17,10.17,0,0,0,24,2.37Z\"\/><\/svg><\/div><p class=\"blog-quote position-relative textAlign-center c-marvel\"><span class=\"blog-quote-text transitionDuration-l transitionProperty-all transitionTimingFunction-easeInOut\">\u201cSimple things should be simple, complex things should be possible.\u201d -Alan\u00a0Kay<\/p><\/span><\/blockquote>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\">I am a firm believer in this heuristic, but it should be applied in a way that makes the complex possible for all users, including those with disabilities. Unfortunately for accessibility, many have taken this to mean the following, which is not a quote from Alan Kay:<\/p>\n<blockquote class=\"pageWrap pageWrap--s position-relative marginTopBottom-l breakPointM-marginTopBottom-xl\"><div class=\"blog-quote-before position-absolute bg-marvel\"><\/div><div class=\"tweet-quote blog-quote-after position-absolute bg-marvel cursor-pointer transitionDuration-l transitionProperty-all transitionTimingFunction-cv-easeOutCircular scaleUp--hover zi-weak\"><svg class=\"fill-white opacity-0 pointerEvents-none position-absolute pinCenter transitionProperty-all transitionTimingFunction-easeInOut\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"24\" height=\"20\" viewBox=\"0 0 24 20\"><path d=\"M24,2.37a9.64,9.64,0,0,1-2.83.79A5,5,0,0,0,23.34.37a9.72,9.72,0,0,1-3.13,1.23A4.86,4.86,0,0,0,16.62,0a5,5,0,0,0-4.8,6.2A13.87,13.87,0,0,1,1.67.92,5.13,5.13,0,0,0,3.19,7.67,4.81,4.81,0,0,1,1,7a5,5,0,0,0,3.95,5,4.82,4.82,0,0,1-2.22.09,4.94,4.94,0,0,0,4.6,3.51A9.72,9.72,0,0,1,0,17.73,13.69,13.69,0,0,0,7.55,20c9.14,0,14.31-7.92,14-15A10.17,10.17,0,0,0,24,2.37Z\"\/><\/svg><\/div><p class=\"blog-quote position-relative textAlign-center c-marvel\"><span class=\"blog-quote-text transitionDuration-l transitionProperty-all transitionTimingFunction-easeInOut\">\u201cPrimary things should be visible, secondary things should be shown on\u00a0hover.\u201d<\/p><\/span><\/blockquote>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\">Instead of hiding actions and information behind hover states, explore more inclusive alternatives.<\/p>\n<ul class=\"pageWrap pageWrap--s list list--unordered marginBottom-l lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\">\n<li>Place secondary actions inside of menus (or non-modal dialogs), without using hover states to hide the trigger.<\/li>\n<li>Lighten the contrast of secondary icons and darken them on hover.<\/li>\n<li>Use tangible items as triggers for larger hovers. An info icon is a better trigger than white space to launch a content-filled hover.<\/li>\n<\/ul>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\">Here\u2019s an example from LinkedIn. Below is a screenshot from my profile page.<\/p>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\"><a><img class=\"aligncenter size-full wp-image-6580\" \/><\/a><\/p>\n<div id=\"attachment_13716\" style=\"width: 666px\" class=\"wp-caption alignnone\"><a class=\"link link--blue fontWeight-4\"href=\"https:\/\/marvel7077.wpengine.com\/wp-content\/uploads\/2017\/11\/1.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-13716\" class=\"size-full wp-image-13716\" src=\"https:\/\/marvel7077.wpengine.com\/wp-content\/uploads\/2017\/11\/1.png\" alt=\"\" width=\"656\" height=\"302\" srcset=\"https:\/\/marvelapp.com\/wp-content\/uploads\/2017\/11\/1.png 656w, https:\/\/marvelapp.com\/wp-content\/uploads\/2017\/11\/1-600x276.png 600w\" sizes=\"auto, (max-width: 656px) 100vw, 656px\" \/><\/a><p id=\"caption-attachment-13716\" class=\"wp-caption-text\">My LinkedIn profile banner<\/p><\/div>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\">Here is what happens after I hover my mouse over the profile card.<\/p>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\"><a><img class=\"aligncenter size-full wp-image-6580\" \/><\/a><\/p>\n<div id=\"attachment_13717\" style=\"width: 664px\" class=\"wp-caption alignnone\"><a class=\"link link--blue fontWeight-4\"href=\"https:\/\/marvel7077.wpengine.com\/wp-content\/uploads\/2017\/11\/2.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-13717\" class=\"size-full wp-image-13717\" src=\"https:\/\/marvel7077.wpengine.com\/wp-content\/uploads\/2017\/11\/2.png\" alt=\"\" width=\"654\" height=\"302\" srcset=\"https:\/\/marvelapp.com\/wp-content\/uploads\/2017\/11\/2.png 654w, https:\/\/marvelapp.com\/wp-content\/uploads\/2017\/11\/2-600x277.png 600w\" sizes=\"auto, (max-width: 654px) 100vw, 654px\" \/><\/a><p id=\"caption-attachment-13717\" class=\"wp-caption-text\">My LinkedIn profile banner with hover states\u00a0revealed<\/p><\/div>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\">Suddenly there are visual indications that I may individually edit many of the fields on this page including my name, title, previous jobs, education and even my profile photo. Taking this one step farther, when I hover specifically over my title, the text turns blue indicating that I am ready to click.<\/p>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\"><a><img class=\"aligncenter size-full wp-image-6580\" \/><\/a><\/p>\n<div id=\"attachment_13718\" style=\"width: 663px\" class=\"wp-caption alignnone\"><a class=\"link link--blue fontWeight-4\"href=\"https:\/\/marvel7077.wpengine.com\/wp-content\/uploads\/2017\/11\/3.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-13718\" class=\"size-full wp-image-13718\" src=\"https:\/\/marvel7077.wpengine.com\/wp-content\/uploads\/2017\/11\/3.png\" alt=\"\" width=\"653\" height=\"300\" srcset=\"https:\/\/marvelapp.com\/wp-content\/uploads\/2017\/11\/3.png 653w, https:\/\/marvelapp.com\/wp-content\/uploads\/2017\/11\/3-600x276.png 600w\" sizes=\"auto, (max-width: 653px) 100vw, 653px\" \/><\/a><p id=\"caption-attachment-13718\" class=\"wp-caption-text\">Title turns blue on\u00a0hover<\/p><\/div>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\">Below is one solution to the accessibility problems this design may cause certain groups of users. I have smaller pencils that appear nearby the fields. They are always present.<\/p>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\"><a><img class=\"aligncenter size-full wp-image-6580\" \/><\/a><\/p>\n<div id=\"attachment_13719\" style=\"width: 666px\" class=\"wp-caption alignnone\"><a class=\"link link--blue fontWeight-4\"href=\"https:\/\/marvel7077.wpengine.com\/wp-content\/uploads\/2017\/11\/4.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-13719\" class=\"size-full wp-image-13719\" src=\"https:\/\/marvel7077.wpengine.com\/wp-content\/uploads\/2017\/11\/4.png\" alt=\"\" width=\"656\" height=\"302\" srcset=\"https:\/\/marvelapp.com\/wp-content\/uploads\/2017\/11\/4.png 656w, https:\/\/marvelapp.com\/wp-content\/uploads\/2017\/11\/4-600x276.png 600w\" sizes=\"auto, (max-width: 656px) 100vw, 656px\" \/><\/a><p id=\"caption-attachment-13719\" class=\"wp-caption-text\">One solution. Show smaller, gray pencils always for in-line editable\u00a0fields<\/p><\/div>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\">When I hover over a field, the blue kicks in.<\/p>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\"><a><img class=\"aligncenter size-full wp-image-6580\" \/><\/a><\/p>\n<div id=\"attachment_13720\" style=\"width: 666px\" class=\"wp-caption alignnone\"><a class=\"link link--blue fontWeight-4\"href=\"https:\/\/marvel7077.wpengine.com\/wp-content\/uploads\/2017\/11\/5.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-13720\" class=\"size-full wp-image-13720\" src=\"https:\/\/marvel7077.wpengine.com\/wp-content\/uploads\/2017\/11\/5.png\" alt=\"\" width=\"656\" height=\"302\" srcset=\"https:\/\/marvelapp.com\/wp-content\/uploads\/2017\/11\/5.png 656w, https:\/\/marvelapp.com\/wp-content\/uploads\/2017\/11\/5-600x276.png 600w\" sizes=\"auto, (max-width: 656px) 100vw, 656px\" \/><\/a><p id=\"caption-attachment-13720\" class=\"wp-caption-text\">Show the same blue row on hover and keyboard\u00a0focus<\/p><\/div>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\">When presented with this type of solution, designers may respond by asking:<br \/>\n<em>\u201cThat\u2019s kind of heavy, isn\u2019t\u00a0it?\u201d<\/em><br \/>\nPerhaps it is, but it\u2019s only one possible solution to this problem. Furthermore, it only appears on my own profile page. How much time does one spend looking at their own LinkedIn profile? Is this level of \u201cweight\u201d a fair trade for universal accessibility? What other affordances can we provide if we don\u2019t like this particular use of pencils?<\/p>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\">Here\u2019s another example from Evernote. This is a list view of notes. When the user\u2019s mouse hovers over a row, four actionable icons appear.<\/p>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\"><a class=\"link link--blue fontWeight-4\"href=\"https:\/\/marvel7077.wpengine.com\/wp-content\/uploads\/2017\/11\/1mqlLfzyZtnFRo1Ymj-tHvA.png\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-6580\" src=\"https:\/\/marvel7077.wpengine.com\/wp-content\/uploads\/2017\/11\/1mqlLfzyZtnFRo1Ymj-tHvA.png\" \/><\/a><\/p>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\"><\/p>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\">In this case, I would ask the designer to explore always showing these four icons. One possible solution would be to always show these icons. They could be green on the white rows and reverse on hover.<\/p>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\"><a class=\"link link--blue fontWeight-4\"href=\"https:\/\/marvel7077.wpengine.com\/wp-content\/uploads\/2017\/11\/1odmnpgSJdhVHXdpmbbnSTw.png\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-6580\" src=\"https:\/\/marvel7077.wpengine.com\/wp-content\/uploads\/2017\/11\/1odmnpgSJdhVHXdpmbbnSTw.png\" \/><\/a><\/p>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\"><\/p>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\">One solution to the hovers used in\u00a0Evernote<\/p>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\">This solution might also be called \u201cheavy\u201d, but remember that we aren\u2019t designing for designers. We are designing for a diverse set of users with different needs and varying technologies for accessing computers.<\/p>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\">On the surface it may seem that placing these limits on your use of components, hover states, and visual design limit your creativity. If anything, these guidelines will push the limits of your creativity as you find visually pleasing designs that enable the success of a wider set of users.<\/p>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\">With the right focus, you will find that any design challenge can be met in a way that meets the needs of your executives, marketing team, Dribbble followers and all of your users, including those with disabilities.<\/p>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\"><em>Jesse Hausler is a 12 year veteran of the accessibility field. He is currently the Principal Accessibility Specialist at Salesforce, where he has been for four years. Special thanks to <\/em><a class=\"link link--blue fontWeight-4\"href=\"https:\/\/twitter.com\/cordeliadillon\"><em>Cordelia McGee-Tubb<\/em><\/a><em> for the amazing artwork used throughout this blog post.<\/em><\/p>\n<p class=\"pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl\"><em>This article was originally published on <a class=\"link link--blue fontWeight-4\"href=\"https:\/\/medium.com\/salesforce-ux\/7-things-every-designer-needs-to-know-about-accessibility-64f105f0881b\">Jesse's Medium page.<\/a>\u00a0<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Accessibility enables people with disabilities to perceive, understand, navigate, interact with, and contribute to the web. Imagine a world where developers know everything there is to know about accessibility. You design it and they build it\u2026 perfectly. In this world, only the design itself can cause people with disabilities to have trouble using a product. These guidelines will cover the&#8230; <a class=\"link link--blue fontWeight-4\" href=\"https:\/\/marvelapp.com\/blog\/7-things-every-designer-needs-know-accessibility\/\">Read More &#65515;<\/a><\/p>\n","protected":false},"author":191,"featured_media":13725,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[495],"tags":[],"class_list":["post-13659","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-accessiblity"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v15.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<meta name=\"description\" content=\"Accessibility enables people with disabilities to perceive, understand, navigate, interact with, and contribute to the web.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/marvelapp.com\/blog\/7-things-every-designer-needs-know-accessibility\/\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"7 Things Every Designer Needs to Know about Accessibility | Marvel Blog\" \/>\n<meta property=\"og:description\" content=\"Accessibility enables people with disabilities to perceive, understand, navigate, interact with, and contribute to the web.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/marvelapp.com\/blog\/7-things-every-designer-needs-know-accessibility\/\" \/>\n<meta property=\"og:site_name\" content=\"Marvel Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/marvelapp\" \/>\n<meta property=\"article:published_time\" content=\"2017-11-28T14:15:54+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2020-08-25T15:48:53+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/marvelapp.com\/wp-content\/uploads\/2017\/11\/header.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1300\" \/>\n\t<meta property=\"og:image:height\" content=\"600\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@marvelapp\" \/>\n<meta name=\"twitter:site\" content=\"@marvelapp\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\">\n\t<meta name=\"twitter:data1\" content=\"14 minutes\">\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https:\/\/marvelapp.com\/blog\/#organization\",\"name\":\"Marvel\",\"url\":\"https:\/\/marvelapp.com\/blog\/\",\"sameAs\":[\"https:\/\/www.facebook.com\/marvelapp\",\"https:\/\/www.instagram.com\/marvelapp\/\",\"https:\/\/www.linkedin.com\/company\/marvel-app\/\",\"https:\/\/twitter.com\/marvelapp\"],\"logo\":{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/marvelapp.com\/blog\/#logo\",\"inLanguage\":\"en-GB\",\"url\":\"https:\/\/marvelapp.com\/wp-content\/uploads\/2018\/06\/Logo-Light.png\",\"width\":1605,\"height\":1130,\"caption\":\"Marvel\"},\"image\":{\"@id\":\"https:\/\/marvelapp.com\/blog\/#logo\"}},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/marvelapp.com\/blog\/#website\",\"url\":\"https:\/\/marvelapp.com\/blog\/\",\"name\":\"Marvel Blog\",\"description\":\"Ideas and words on user experience, design, collaboration and more\",\"publisher\":{\"@id\":\"https:\/\/marvelapp.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":\"https:\/\/marvelapp.com\/blog\/?s={search_term_string}\",\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-GB\"},{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/marvelapp.com\/blog\/7-things-every-designer-needs-know-accessibility\/#primaryimage\",\"inLanguage\":\"en-GB\",\"url\":\"https:\/\/marvelapp.com\/wp-content\/uploads\/2017\/11\/header.png\",\"width\":1300,\"height\":600},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/marvelapp.com\/blog\/7-things-every-designer-needs-know-accessibility\/#webpage\",\"url\":\"https:\/\/marvelapp.com\/blog\/7-things-every-designer-needs-know-accessibility\/\",\"name\":\"7 Things Every Designer Needs to Know about Accessibility | Marvel Blog\",\"isPartOf\":{\"@id\":\"https:\/\/marvelapp.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/marvelapp.com\/blog\/7-things-every-designer-needs-know-accessibility\/#primaryimage\"},\"datePublished\":\"2017-11-28T14:15:54+00:00\",\"dateModified\":\"2020-08-25T15:48:53+00:00\",\"description\":\"Accessibility enables people with disabilities to perceive, understand, navigate, interact with, and contribute to the web.\",\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/marvelapp.com\/blog\/7-things-every-designer-needs-know-accessibility\/\"]}]},{\"@type\":\"Article\",\"@id\":\"https:\/\/marvelapp.com\/blog\/7-things-every-designer-needs-know-accessibility\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/marvelapp.com\/blog\/7-things-every-designer-needs-know-accessibility\/#webpage\"},\"author\":{\"@id\":\"https:\/\/marvelapp.com\/blog\/#\/schema\/person\/af930ff099a16b27d3f640c37fc5106e\"},\"headline\":\"7 Things Every Designer Needs to Know about Accessibility\",\"datePublished\":\"2017-11-28T14:15:54+00:00\",\"dateModified\":\"2020-08-25T15:48:53+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/marvelapp.com\/blog\/7-things-every-designer-needs-know-accessibility\/#webpage\"},\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/marvelapp.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/marvelapp.com\/blog\/7-things-every-designer-needs-know-accessibility\/#primaryimage\"},\"articleSection\":\"Accessibility\",\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/marvelapp.com\/blog\/7-things-every-designer-needs-know-accessibility\/#respond\"]}]},{\"@type\":\"Person\",\"@id\":\"https:\/\/marvelapp.com\/blog\/#\/schema\/person\/af930ff099a16b27d3f640c37fc5106e\",\"name\":\"Jesse Hausler\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/marvelapp.com\/blog\/#personlogo\",\"inLanguage\":\"en-GB\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/b2af0890aa2e0efcc650721ecc17c8c22f8456ef0258d95d0aa3e0721be6aeae?s=96&d=mm&r=g\",\"caption\":\"Jesse Hausler\"},\"description\":\"Principal Accessibility Specialist at Salesforce, where I educate people about Universal Design as a way to achieve access for all users. Opinions are my own. Follow me on Twitter.\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","_links":{"self":[{"href":"https:\/\/marvelapp.com\/blog\/wp-json\/wp\/v2\/posts\/13659","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/marvelapp.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/marvelapp.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/marvelapp.com\/blog\/wp-json\/wp\/v2\/users\/191"}],"replies":[{"embeddable":true,"href":"https:\/\/marvelapp.com\/blog\/wp-json\/wp\/v2\/comments?post=13659"}],"version-history":[{"count":0,"href":"https:\/\/marvelapp.com\/blog\/wp-json\/wp\/v2\/posts\/13659\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/marvelapp.com\/blog\/wp-json\/wp\/v2\/media\/13725"}],"wp:attachment":[{"href":"https:\/\/marvelapp.com\/blog\/wp-json\/wp\/v2\/media?parent=13659"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/marvelapp.com\/blog\/wp-json\/wp\/v2\/categories?post=13659"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/marvelapp.com\/blog\/wp-json\/wp\/v2\/tags?post=13659"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}