{"id":3142,"date":"2022-11-15T10:09:22","date_gmt":"2022-11-15T10:09:22","guid":{"rendered":"http:\/\/the-codest.localhost\/blog\/4-common-web-accessibility-issues-to-know\/"},"modified":"2026-03-09T13:10:53","modified_gmt":"2026-03-09T13:10:53","slug":"contrast-ratio-issue","status":"publish","type":"post","link":"https:\/\/thecodest.co\/en\/blog\/contrast-ratio-issue\/","title":{"rendered":"4 Common Web Accessibility Issues to Know"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Contrast Ratio Issue<\/h2>\n\n\n\n<p>The most common accessibility issue I&#8217;ve seen over the years is the <b>contrast and color accessibility issue<\/b>, a bad contrast ratio will make it hard to see the content of your page and that will be very harmful to your users, including those with visual disabilities. <\/p>\n\n\n\n<p>Contrast is a measure of the difference in perceived &#8220;luminance&#8221; or brightness between two colors, for example, it is the difference between the background color and foreground color of your page content. Let&#8217;s take a look at this navbar.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"\/app\/uploads\/2024\/05\/01-navbar.png\" alt=\"navligational<em&gt;bar<\/em&gt;with<em&gt;green<\/em&gt;titles\" title=\"navbar example \"\/><\/figure>\n\n\n\n<p>Let&#8217;s say your client really likes that greenish color and finds it awesome, but there is an issue here with contrast. We have a&nbsp;<code>#FFFFFF<\/code> background with a&nbsp;<code>#83A94C<\/code>&nbsp;text color resulting in a 2.71:1 contrast ratio, which is way below the minimum&nbsp;<strong>4.5:1<\/strong>&nbsp;needed. To detect this issue we have multiple solutions: <\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Use an online contrast checker like the&nbsp;<a href=\"https:\/\/webaim.org\/resources\/contrastchecker\/)\" rel=\"nofollow\">Webaim Contrast Checker<\/a>, which will calculate the contrast ratio and give you a&nbsp;<strong>Pass<\/strong>&nbsp;or&nbsp;<strong>Fail<\/strong>&nbsp;grade.<\/li>\n\n\n\n<li>Use one of the many browser contrast checker extensions, ex:&nbsp;<a href=\"https:\/\/chrome.google.com\/webstore\/detail\/wcag-color-contrast-check\/plnahcmalebffmaghcpcmpaciebdhgdf?hl=en)\" rel=\"nofollow\">WCAG Color contrast checker<\/a>.<\/li>\n\n\n\n<li>Try out the browsers integrated contrast checker. To use it on Google Chrome, open the dev tools, inspect the targeted element (ex: Home link of our navbar), go to the CSS color property, and click on the color rectangle to open the color picker, at the bottom, you will be presented with a contrast ratio value, expand it for more details. The process is exactly the same for Firefox, just a small difference in the ratio is shown in the bottom left of the color picker.<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"\/app\/uploads\/2024\/05\/02-chrome-color-picker.png\" alt=\"black<em&gt;background<\/em&gt;with<em&gt;blue<\/em&gt;code \" title=\"chrome picker example\"\/><\/figure>\n\n\n\n<p>To get more details about contrast check this&nbsp;<a href=\"https:\/\/webaim.org\/articles\/contrast\/\" rel=\"nofollow\">Contrast and Color Accessibility Article<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Link Text Issue<\/h2>\n\n\n\n<p>Links are a big part of the <a href=\"https:\/\/thecodest.co\/en\/blog\/find-your-ideal-stack-for-web-development\/\">web<\/a> these days, so making them accessible is very important. A link must make sense and inform the user of its context, so an uninformative link with text like read more, click here, check details isn&#8217;t very helpful so instead of adding &#8220;check details&#8221; for <a href=\"https:\/\/thecodest.co\/en\/dictionary\/how-to-make-product\/\">product<\/a> details, for example, using the product name such as &#8220;The Mandalorian Helmet&#8221; is better and more informative. Words like <code>click here<\/code> or <code>more about<\/code> can be omitted because a link is clickable per default and something like &#8220;more about today&#8217;s news&#8221; can be shortened to &#8220;today&#8217;s news&#8221;. There is no special rule or limit about link length, the <b>link needs to be readable<\/b> and long enough to give a good description of its purpose.<\/p>\n\n\n\n<p>Images as links are a widely used pattern, so this has to follow the same rules we&#8217;ve talked about above. The image alt attribute will play the role of link text and be announced by screen readers. There are multiple case scenarios when treating images as links, if the image is the only content of the link, then it must have an alt attribute, if the link has some text and image in it then we can omit the alt attribute, here are some examples:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">\r&lt;a href=\"\/notifications\">\r\n  &lt;img src=\"\/img\/notification.png\" alt=\"Notifications\">\r\n&lt;\/a><\/code><\/pre>\n\n\n\n<p>Check out some links here to read about links accessibility:<a href=\"https:\/\/webaim.org\/techniques\/hypertext\/link_text\" rel=\"nofollow\">Link Text and Appearance<\/a>, <a href=\"https:\/\/www.w3.org\/WAI\/tutorials\/images\/functional\/\" rel=\"nofollow\">Functional Images<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Form Input Missing a Label<\/h2>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"\/app\/uploads\/2024\/05\/03-form-inputs.png\" alt=\"input<em&gt;labels<\/em&gt;with<em&gt;blue<\/em&gt;button\" title=\"input labels example \"\/><\/figure>\n\n\n\n<p>We&#8217;ve all seen these form inputs before with no label and just a placeholder to describe the purpose of the input. A first note is that as soon as the user fills in all the inputs and the placeholders aren&#8217;t in sight anymore we will have no visual context about the inputs purpose but let <a href=\"https:\/\/thecodest.co\/en\/blog\/why-us-companies-are-opting-for-polish-developers\/\">us<\/a> focus on the accessibility here. <\/p>\n\n\n\n<p>Associating a&nbsp;<code>label<\/code>&nbsp;to an input gives us two major advantages, a screen reader will read out the label when the user is focused on the form input and when a label is clicked or touched\/taped the browser passes the focus to its associated input. An easy fix for this kind of situation is to just add labels as follows:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"javascript\" class=\"language-javascript\">    First name\n\n    \n  \n\n    Last name\n\n    \n  \n\n    Email\n\n    \n  \n\n    Submit\n  \n\n```<\/code><\/pre>\n\n\n\n<p>That&#8217;s it, all inputs have their associated labels making them accessible to everyone. We can even remove the placeholders to avoid duplicating the input purpose, but we all know that real-world scenarios aren&#8217;t so easy to deal with, you&#8217;ve just received a design that has these form inputs without labels and the client doesn&#8217;t want to change that part. The first solution that comes to mind is to apply a&nbsp;<code>display: none;<\/code>&nbsp;or&nbsp;<code>visibility: hidden;<\/code>&nbsp;to our labels, this will hide them but they are still there right? These properties hide elements not only on the screen, but also for screen reader users, so this will not solve our problem.<\/p>\n\n\n\n<p>We can use the&nbsp;<strong>clip pattern<\/strong>&nbsp;to solve this. In that way, we will hide the content visually, yet provide the content to screen readers. We will create the following CSS&nbsp;<code>sr-only<\/code>&nbsp;class and apply it on all of our labels:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"javascript\" class=\"language-javascript\"><code> .sr-only:not(:focus):not(:active) {\n   clip: rect(0 0 0 0);\n   clip-path: inset(50%);\n   height: 1px;\n   overflow: hidden;\n   position: absolute;\n   white-space: nowrap;\n   width: 1px;\n }\n<\/code><\/code><\/pre>\n\n\n\n<p>This will hide our labels, make them available for screen readers and match our design. The&nbsp;<code>:not(:focus):not(:active)<\/code>&nbsp;pseudo-class prevents focusable elements such as&nbsp;<code>a<\/code>,&nbsp;<code>button<\/code>,&nbsp;<code>input<\/code>&nbsp;from being hidden when receiving focus.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">No Focus Indicator<\/h2>\n\n\n\n<p>Once upon a time I did this on my global CSS stylesheet:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"javascript\" class=\"language-javascript\">* {\noutline: none; \/* horrible mistake *\/\n}<\/code><\/pre>\n\n\n\n<p>Around 2020 I noticed black borders showing up on Google Chrome form inputs when focused or on the buttons when tabbed into &#8211; that was really weird as I didn&#8217;t understand it at the time, after some research I&#8217;ve found out that it is because of the outline CSS property so removing solved that &#8216;Problem&#8217; for me.<\/p>\n\n\n\n<p>At that time I had no idea what was the correct way to do it.  After doing some investigation about the whys and the hows of that new default I found out that outline is an element focus indicator and if removed an obvious focus styling must be provided, basically what I was doing is considered a bad practice. You can customize focus indicators as you see fit, but removing them completely from the website is a big accessibility issue. Customizing an element focus styling is fairly easy for example:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"javascript\" class=\"language-javascript\"><code> a:focus {\n   outline: 4px solid #ee7834;\n   outline-offset: 4px;\n }<\/code><\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Accessibility Tools<\/h2>\n\n\n\n<p>Checking all of the issues we&#8217;ve talked about can be a lot of work to do, especially knowing that there is a lot more stuff to cover about accessibility, so to help us deal with accessibility we have 2 great browser extensions.<\/p>\n\n\n\n<p><a href=\"https:\/\/wave.webaim.org\/\" rel=\"nofollow\">WAVE Evaluation Tool<\/a> is a suite of evaluation tools that helps us make our web content more accessible. It is available in both Google Chrome and Firefox. <\/p>\n\n\n\n<p>Let&#8217;s try it on a small web page containing a navbar and an input missing a label and see what it returns, after installing the extension, we just need to click on the extension icon to use it.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"\/app\/uploads\/2024\/05\/04-wave-errors.png\" alt=\"white<em&gt;window<\/em&gt;with<em&gt;grey<\/em&gt;sections\" title=\"wave error example \"\/><\/figure>\n\n\n\n<p>The Summary tab shows 1 error (form element missing a label), 2 contrast errors and 1 alert (missing heading structure), as you can see the result is very clear and detailed. The Details tab will render a list of all the errors, alerts, and features. We can also interact directly on the page by clicking on those red rectangles to check the error description and type.<\/p>\n\n\n\n<p><a href=\"https:\/\/www.deque.com\/axe\/devtools\/\" rel=\"nofollow\">Axe DevTools<\/a> is a powerful and accurate accessibility toolkit. It is available in both Google Chrome and Firefox. After installing the extension, we will need to open the browser dev tools and go to the axe DevTools tab and click Scan all of my pages.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"\/app\/uploads\/2024\/05\/05-axe-errors.png\" alt=\"DevTools<em&gt;window<\/em&gt;with<em&gt;black<\/em&gt;grey_sections\" title=\"axe errors example \"\/><\/figure>\n\n\n\n<p>You can see Axe DevTools has reported the same issues with the WAVE Evaluation Tool which are contrast issues, form element missing a label, and missing heading element, it even gave us some best practices to follow.<\/p>\n\n\n\n<p>An additional way to test for accessibility is to use a screen reader and test your website with it, there are many screen readers available, to name just a few:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.nvaccess.org\/\" rel=\"nofollow\">NVDA<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/support.apple.com\/guide\/voiceover\/welcome\/mac\" rel=\"nofollow\">VoiceOver<\/a> is available on macOs devices.<\/li>\n\n\n\n<li><a href=\"https:\/\/help.gnome.org\/users\/orca\/stable\/introduction.html.en\" rel=\"nofollow\">Orca<\/a> is a free and open source screen reader for linux.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Summary<\/h2>\n\n\n\n<p>We&#8217;ve seen in this article some common web accessibility issues, ways to solve them, and some great tools to test for web accessibility. There is still a lot more to cover about accessibility for elements like Dialogs, Accordions, and Carousels but as you&#8217;ve seen in this article there is plenty of documentation and tools to help you deal with accessibility.<\/p>\n\n\n\n<p>Some key points to remember:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Always check for contrast ratio.<\/li>\n\n\n\n<li>Always provide informative content to links.<\/li>\n\n\n\n<li>A form element must have a label associated with it.<\/li>\n\n\n\n<li>Obvious focus styling must be provided.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/thecodest.co\/careers\"><img decoding=\"async\" src=\"\/app\/uploads\/2024\/05\/become_a_part_of_the_codest.png\" alt=\"career at the codest\"\/><\/a><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>The web is used by millions of different people everyday, one of our main goals as developers is to make the web accessible for everyone. This article will introduce some common web accessibility issues and ways to solve them.<\/p>\n","protected":false},"author":2,"featured_media":3143,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[8],"tags":[],"class_list":["post-3142","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-software-development"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.3 (Yoast SEO v27.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>4 Common Web Accessibility Issues to Know - The Codest<\/title>\n<meta name=\"description\" content=\"A guide to common web accessibility issues developers should know, with practical tips to improve usability for users with disabilities.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/thecodest.co\/en\/blog\/contrast-ratio-issue\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"4 Common Web Accessibility Issues to Know\" \/>\n<meta property=\"og:description\" content=\"A guide to common web accessibility issues developers should know, with practical tips to improve usability for users with disabilities.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/thecodest.co\/en\/blog\/contrast-ratio-issue\/\" \/>\n<meta property=\"og:site_name\" content=\"The Codest\" \/>\n<meta property=\"article:published_time\" content=\"2022-11-15T10:09:22+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-03-09T13:10:53+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/common_web_accessibility_issues1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"960\" \/>\n\t<meta property=\"og:image:height\" content=\"540\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"thecodest\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"thecodest\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/contrast-ratio-issue\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/contrast-ratio-issue\\\/\"},\"author\":{\"name\":\"thecodest\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#\\\/schema\\\/person\\\/7e3fe41dfa4f4e41a7baad4c6e0d4f76\"},\"headline\":\"4 Common Web Accessibility Issues to Know\",\"datePublished\":\"2022-11-15T10:09:22+00:00\",\"dateModified\":\"2026-03-09T13:10:53+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/contrast-ratio-issue\\\/\"},\"wordCount\":1409,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/contrast-ratio-issue\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/05\\\/common_web_accessibility_issues1.png\",\"articleSection\":[\"Software Development\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/thecodest.co\\\/blog\\\/contrast-ratio-issue\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/contrast-ratio-issue\\\/\",\"url\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/contrast-ratio-issue\\\/\",\"name\":\"4 Common Web Accessibility Issues to Know - The Codest\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/contrast-ratio-issue\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/contrast-ratio-issue\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/05\\\/common_web_accessibility_issues1.png\",\"datePublished\":\"2022-11-15T10:09:22+00:00\",\"dateModified\":\"2026-03-09T13:10:53+00:00\",\"description\":\"A guide to common web accessibility issues developers should know, with practical tips to improve usability for users with disabilities.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/contrast-ratio-issue\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/thecodest.co\\\/blog\\\/contrast-ratio-issue\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/contrast-ratio-issue\\\/#primaryimage\",\"url\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/05\\\/common_web_accessibility_issues1.png\",\"contentUrl\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/05\\\/common_web_accessibility_issues1.png\",\"width\":960,\"height\":540},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/contrast-ratio-issue\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/thecodest.co\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"4 Common Web Accessibility Issues to Know\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#website\",\"url\":\"https:\\\/\\\/thecodest.co\\\/\",\"name\":\"The Codest\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/thecodest.co\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#organization\",\"name\":\"The Codest\",\"url\":\"https:\\\/\\\/thecodest.co\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/03\\\/thecodest-logo.svg\",\"contentUrl\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/03\\\/thecodest-logo.svg\",\"width\":144,\"height\":36,\"caption\":\"The Codest\"},\"image\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/pl.linkedin.com\\\/company\\\/codest\",\"https:\\\/\\\/clutch.co\\\/profile\\\/codest\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#\\\/schema\\\/person\\\/7e3fe41dfa4f4e41a7baad4c6e0d4f76\",\"name\":\"thecodest\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g\",\"caption\":\"thecodest\"},\"url\":\"https:\\\/\\\/thecodest.co\\\/en\\\/author\\\/thecodest\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"4 Common Web Accessibility Issues to Know - The Codest","description":"A guide to common web accessibility issues developers should know, with practical tips to improve usability for users with disabilities.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/thecodest.co\/en\/blog\/contrast-ratio-issue\/","og_locale":"en_US","og_type":"article","og_title":"4 Common Web Accessibility Issues to Know","og_description":"A guide to common web accessibility issues developers should know, with practical tips to improve usability for users with disabilities.","og_url":"https:\/\/thecodest.co\/en\/blog\/contrast-ratio-issue\/","og_site_name":"The Codest","article_published_time":"2022-11-15T10:09:22+00:00","article_modified_time":"2026-03-09T13:10:53+00:00","og_image":[{"width":960,"height":540,"url":"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/common_web_accessibility_issues1.png","type":"image\/png"}],"author":"thecodest","twitter_card":"summary_large_image","twitter_misc":{"Written by":"thecodest","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/thecodest.co\/blog\/contrast-ratio-issue\/#article","isPartOf":{"@id":"https:\/\/thecodest.co\/blog\/contrast-ratio-issue\/"},"author":{"name":"thecodest","@id":"https:\/\/thecodest.co\/#\/schema\/person\/7e3fe41dfa4f4e41a7baad4c6e0d4f76"},"headline":"4 Common Web Accessibility Issues to Know","datePublished":"2022-11-15T10:09:22+00:00","dateModified":"2026-03-09T13:10:53+00:00","mainEntityOfPage":{"@id":"https:\/\/thecodest.co\/blog\/contrast-ratio-issue\/"},"wordCount":1409,"commentCount":0,"publisher":{"@id":"https:\/\/thecodest.co\/#organization"},"image":{"@id":"https:\/\/thecodest.co\/blog\/contrast-ratio-issue\/#primaryimage"},"thumbnailUrl":"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/common_web_accessibility_issues1.png","articleSection":["Software Development"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/thecodest.co\/blog\/contrast-ratio-issue\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/thecodest.co\/blog\/contrast-ratio-issue\/","url":"https:\/\/thecodest.co\/blog\/contrast-ratio-issue\/","name":"4 Common Web Accessibility Issues to Know - The Codest","isPartOf":{"@id":"https:\/\/thecodest.co\/#website"},"primaryImageOfPage":{"@id":"https:\/\/thecodest.co\/blog\/contrast-ratio-issue\/#primaryimage"},"image":{"@id":"https:\/\/thecodest.co\/blog\/contrast-ratio-issue\/#primaryimage"},"thumbnailUrl":"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/common_web_accessibility_issues1.png","datePublished":"2022-11-15T10:09:22+00:00","dateModified":"2026-03-09T13:10:53+00:00","description":"A guide to common web accessibility issues developers should know, with practical tips to improve usability for users with disabilities.","breadcrumb":{"@id":"https:\/\/thecodest.co\/blog\/contrast-ratio-issue\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/thecodest.co\/blog\/contrast-ratio-issue\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/thecodest.co\/blog\/contrast-ratio-issue\/#primaryimage","url":"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/common_web_accessibility_issues1.png","contentUrl":"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/common_web_accessibility_issues1.png","width":960,"height":540},{"@type":"BreadcrumbList","@id":"https:\/\/thecodest.co\/blog\/contrast-ratio-issue\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/thecodest.co\/"},{"@type":"ListItem","position":2,"name":"4 Common Web Accessibility Issues to Know"}]},{"@type":"WebSite","@id":"https:\/\/thecodest.co\/#website","url":"https:\/\/thecodest.co\/","name":"The Codest","description":"","publisher":{"@id":"https:\/\/thecodest.co\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/thecodest.co\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/thecodest.co\/#organization","name":"The Codest","url":"https:\/\/thecodest.co\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/thecodest.co\/#\/schema\/logo\/image\/","url":"https:\/\/thecodest.co\/app\/uploads\/2024\/03\/thecodest-logo.svg","contentUrl":"https:\/\/thecodest.co\/app\/uploads\/2024\/03\/thecodest-logo.svg","width":144,"height":36,"caption":"The Codest"},"image":{"@id":"https:\/\/thecodest.co\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/pl.linkedin.com\/company\/codest","https:\/\/clutch.co\/profile\/codest"]},{"@type":"Person","@id":"https:\/\/thecodest.co\/#\/schema\/person\/7e3fe41dfa4f4e41a7baad4c6e0d4f76","name":"thecodest","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g","caption":"thecodest"},"url":"https:\/\/thecodest.co\/en\/author\/thecodest\/"}]}},"_links":{"self":[{"href":"https:\/\/thecodest.co\/en\/wp-json\/wp\/v2\/posts\/3142","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/thecodest.co\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/thecodest.co\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/thecodest.co\/en\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/thecodest.co\/en\/wp-json\/wp\/v2\/comments?post=3142"}],"version-history":[{"count":11,"href":"https:\/\/thecodest.co\/en\/wp-json\/wp\/v2\/posts\/3142\/revisions"}],"predecessor-version":[{"id":8518,"href":"https:\/\/thecodest.co\/en\/wp-json\/wp\/v2\/posts\/3142\/revisions\/8518"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/thecodest.co\/en\/wp-json\/wp\/v2\/media\/3143"}],"wp:attachment":[{"href":"https:\/\/thecodest.co\/en\/wp-json\/wp\/v2\/media?parent=3142"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/thecodest.co\/en\/wp-json\/wp\/v2\/categories?post=3142"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/thecodest.co\/en\/wp-json\/wp\/v2\/tags?post=3142"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}