{"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":"problema-de-relacao-de-contraste","status":"publish","type":"post","link":"https:\/\/thecodest.co\/pt\/blog\/contrast-ratio-issue\/","title":{"rendered":"4 problemas comuns de acessibilidade da Web a conhecer"},"content":{"rendered":"<h2 class=\"wp-block-heading\">Problema de rela\u00e7\u00e3o de contraste<\/h2>\n\n\n\n<p>O problema de acessibilidade mais comum que tenho visto ao longo dos anos \u00e9 a <b>problema de contraste e acessibilidade de cores<\/b>Uma m\u00e1 rela\u00e7\u00e3o de contraste dificultar\u00e1 a visualiza\u00e7\u00e3o do conte\u00fado da sua p\u00e1gina, o que ser\u00e1 muito prejudicial para os seus utilizadores, incluindo os que t\u00eam defici\u00eancias visuais. <\/p>\n\n\n\n<p>O contraste \u00e9 uma medida da diferen\u00e7a na perce\u00e7\u00e3o da \"lumin\u00e2ncia\" ou brilho entre duas cores, por exemplo, \u00e9 a diferen\u00e7a entre a cor de fundo e a cor de primeiro plano do conte\u00fado da sua p\u00e1gina. Vejamos esta barra de navega\u00e7\u00e3o.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"\/app\/uploads\/2024\/05\/01-navbar.png\" alt=\"barra de navega\u00e7\u00e3o&lt;em&gt;com&lt;em&gt;t\u00edtulos verdes&lt;\/em&gt;\" title=\"exemplo de barra de navega\u00e7\u00e3o \"\/><\/figure>\n\n\n\n<p>Digamos que o seu cliente gosta mesmo daquela cor esverdeada e a acha espetacular, mas h\u00e1 aqui um problema de contraste. Temos um&nbsp;<code>#FFFFFF<\/code> fundo com um&nbsp;<code>#83A94C<\/code>&nbsp;cor do texto, resultando numa rela\u00e7\u00e3o de contraste de 2,71:1, que \u00e9 muito inferior ao m\u00ednimo&nbsp;<strong>4.5:1<\/strong>&nbsp;necess\u00e1rio. Para detetar este problema, temos v\u00e1rias solu\u00e7\u00f5es: <\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Utilize um verificador de contraste em linha como o&nbsp;<a href=\"https:\/\/webaim.org\/resources\/contrastchecker\/)\" rel=\"nofollow\">Verificador de contraste Webaim<\/a>, que calcular\u00e1 a rela\u00e7\u00e3o de contraste e fornecer\u00e1 uma&nbsp;<strong>Passar<\/strong>&nbsp;ou&nbsp;<strong>Falhar<\/strong>&nbsp;grau.<\/li>\n\n\n\n<li>Utilize uma das muitas extens\u00f5es de verifica\u00e7\u00e3o de contraste do navegador, por exemplo:&nbsp;<a href=\"https:\/\/chrome.google.com\/webstore\/detail\/wcag-color-contrast-check\/plnahcmalebffmaghcpcmpaciebdhgdf?hl=en)\" rel=\"nofollow\">WCAG Verificador de contraste de cor<\/a>.<\/li>\n\n\n\n<li>Experimente o verificador de contraste integrado do navegador. Para o utilizar no Google Chrome, abra as ferramentas de desenvolvimento, inspeccione o elemento visado (ex: liga\u00e7\u00e3o Home da nossa barra de navega\u00e7\u00e3o), v\u00e1 \u00e0 propriedade de cor CSS e clique no ret\u00e2ngulo de cor para abrir o seletor de cores. O processo \u00e9 exatamente o mesmo para o Firefox, apenas uma pequena diferen\u00e7a no r\u00e1cio \u00e9 mostrada no canto inferior esquerdo do seletor de cores.<\/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=\"preto&lt;em&gt;fundo&lt;\/em&gt;com&lt;em&gt;c\u00f3digo azul&lt;\/em&gt;\" title=\"exemplo de sele\u00e7\u00e3o de cromos\"\/><\/figure>\n\n\n\n<p>Para obter mais informa\u00e7\u00f5es sobre o contraste, consulte&nbsp;<a href=\"https:\/\/webaim.org\/articles\/contrast\/\" rel=\"nofollow\">Artigo sobre acessibilidade ao contraste e \u00e0 cor<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Problema do texto da liga\u00e7\u00e3o<\/h2>\n\n\n\n<p>As hiperliga\u00e7\u00f5es s\u00e3o uma parte importante do <a href=\"https:\/\/thecodest.co\/pt\/blog\/find-your-ideal-stack-for-web-development\/\">web<\/a> Hoje em dia, \u00e9 muito importante torn\u00e1-las acess\u00edveis. Uma hiperliga\u00e7\u00e3o deve fazer sentido e informar o utilizador do seu contexto, por isso, uma hiperliga\u00e7\u00e3o pouco informativa com texto como \"leia mais\", \"clique aqui\", \"verifique os detalhes\" n\u00e3o \u00e9 muito \u00fatil. <a href=\"https:\/\/thecodest.co\/pt\/dictionary\/how-to-make-product\/\">produto<\/a> Por exemplo, \u00e9 melhor e mais informativo utilizar o nome do produto, como \"O capacete Mandaloriano\". Palavras como <code>clique aqui<\/code> ou <code>mais sobre<\/code> pode ser omitido porque uma liga\u00e7\u00e3o \u00e9 clic\u00e1vel por defeito e algo como \"mais sobre as not\u00edcias de hoje\" pode ser encurtado para \"not\u00edcias de hoje\". N\u00e3o h\u00e1 nenhuma regra especial ou limite sobre o comprimento da liga\u00e7\u00e3o, o <b>a liga\u00e7\u00e3o tem de ser leg\u00edvel<\/b> e suficientemente longo para descrever bem o seu objetivo.<\/p>\n\n\n\n<p>As imagens como hiperliga\u00e7\u00f5es s\u00e3o um padr\u00e3o muito utilizado, pelo que t\u00eam de seguir as mesmas regras de que fal\u00e1mos acima. O atributo alt da imagem desempenhar\u00e1 o papel de texto da liga\u00e7\u00e3o e ser\u00e1 anunciado pelos leitores de ecr\u00e3. Existem v\u00e1rios cen\u00e1rios para o tratamento de imagens como hiperliga\u00e7\u00f5es: se a imagem for o \u00fanico conte\u00fado da hiperliga\u00e7\u00e3o, tem de ter um atributo alt; se a hiperliga\u00e7\u00e3o tiver algum texto e imagem, podemos omitir o atributo alt:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">\r&lt;a href=&quot;\/notifications&quot;&gt;\r\n  &lt;img src=&quot;\/img\/notification.png&quot; alt=&quot;Notifica&ccedil;&otilde;es&quot;&gt;\r\n&lt;\/a&gt;<\/code><\/pre>\n\n\n\n<p>Veja algumas liga\u00e7\u00f5es aqui para ler sobre a acessibilidade das liga\u00e7\u00f5es:<a href=\"https:\/\/webaim.org\/techniques\/hypertext\/link_text\" rel=\"nofollow\">Texto e aspeto da liga\u00e7\u00e3o<\/a>, <a href=\"https:\/\/www.w3.org\/WAI\/tutorials\/images\/functional\/\" rel=\"nofollow\">Imagens funcionais<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Entrada de formul\u00e1rio sem r\u00f3tulo<\/h2>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"\/app\/uploads\/2024\/05\/03-form-inputs.png\" alt=\"input&lt;em&gt;labels&lt;\/em&gt;with&lt;em&gt;blue&lt;\/em&gt;button\" title=\"exemplo de etiquetas de entrada \"\/><\/figure>\n\n\n\n<p>Todos n\u00f3s j\u00e1 vimos estas entradas de formul\u00e1rio sem etiqueta e apenas com um marcador de posi\u00e7\u00e3o para descrever o objetivo da entrada. Uma primeira nota \u00e9 que, assim que o utilizador preencher todas as entradas e os marcadores de posi\u00e7\u00e3o deixarem de estar \u00e0 vista, n\u00e3o teremos qualquer contexto visual sobre o objetivo das entradas, mas vamos <a href=\"https:\/\/thecodest.co\/pt\/blog\/why-us-companies-are-opting-for-polish-developers\/\">n\u00f3s<\/a> centrar-se na acessibilidade. <\/p>\n\n\n\n<p>Associar um&nbsp;<code>etiqueta<\/code>&nbsp;a uma entrada d\u00e1-nos duas grandes vantagens: um leitor de ecr\u00e3 ler\u00e1 a etiqueta quando o utilizador estiver concentrado na entrada do formul\u00e1rio e, quando uma etiqueta \u00e9 clicada ou tocada\/tocada, o browser passa o foco para a entrada associada. Uma solu\u00e7\u00e3o f\u00e1cil para este tipo de situa\u00e7\u00e3o \u00e9 simplesmente adicionar etiquetas da seguinte forma:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"javascript\" class=\"language-javascript\">    Nome pr\u00f3prio\n\n    \n  \n\n    Apelido\n\n    \n  \n\n    Correio eletr\u00f3nico\n\n    \n  \n\n    Enviar\n  \n\n```<\/code><\/pre>\n\n\n\n<p>\u00c9 isso, todos os inputs t\u00eam as suas etiquetas associadas, tornando-os acess\u00edveis a toda a gente. Podemos at\u00e9 remover os marcadores de posi\u00e7\u00e3o para evitar duplicar o objetivo da entrada, mas todos sabemos que os cen\u00e1rios do mundo real n\u00e3o s\u00e3o assim t\u00e3o f\u00e1ceis de resolver, acab\u00e1mos de receber um desenho que tem estas entradas de formul\u00e1rio sem etiquetas e o cliente n\u00e3o quer alterar essa parte. A primeira solu\u00e7\u00e3o que vem \u00e0 mente \u00e9 aplicar um&nbsp;<code>apresenta\u00e7\u00e3o: nenhum;<\/code>&nbsp;ou&nbsp;<code>visibilidade: oculta;<\/code>&nbsp;\u00e0s nossas etiquetas, isto ir\u00e1 escond\u00ea-las, mas elas continuam l\u00e1, certo? Estas propriedades ocultam elementos n\u00e3o s\u00f3 no ecr\u00e3, mas tamb\u00e9m para os utilizadores de leitores de ecr\u00e3, pelo que n\u00e3o resolvem o nosso problema.<\/p>\n\n\n\n<p>Podemos utilizar o&nbsp;<strong>padr\u00e3o de clipe<\/strong>&nbsp;para resolver este problema. Desta forma, ocultamos o conte\u00fado visualmente, mas fornecemos o conte\u00fado aos leitores de ecr\u00e3. Vamos criar o seguinte CSS&nbsp;<code>apenas sr<\/code>&nbsp;e aplic\u00e1-la em todas as nossas etiquetas:<\/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   posi\u00e7\u00e3o: absoluta;\n   white-space: nowrap;\n   largura: 1px;\n }\n<\/code><\/code><\/pre>\n\n\n\n<p>Isto ir\u00e1 ocultar as nossas etiquetas, torn\u00e1-las dispon\u00edveis para os leitores de ecr\u00e3 e corresponder ao nosso design. O&nbsp;<code>:not(:focus):not(:active)<\/code>&nbsp;pseudo-classe impede que elementos focaliz\u00e1veis, tais como&nbsp;<code>a<\/code>,&nbsp;<code>bot\u00e3o<\/code>,&nbsp;<code>entrada<\/code>&nbsp;de ficarem ocultos quando est\u00e3o a ser focados.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Sem indicador de focagem<\/h2>\n\n\n\n<p>Em tempos, fiz isto na minha folha de estilos CSS global:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"javascript\" class=\"language-javascript\">* {\noutline: none; \/* erro horr\u00edvel *\/\n}<\/code><\/pre>\n\n\n\n<p>Por volta de 2020, reparei que apareciam contornos pretos nos formul\u00e1rios do Google Chrome quando estavam focados ou nos bot\u00f5es quando se entrava no separador - foi muito estranho, porque n\u00e3o percebi na altura. Depois de alguma pesquisa, descobri que isso se devia \u00e0 propriedade CSS de contorno, pelo que a remo\u00e7\u00e3o resolveu esse \"problema\".<\/p>\n\n\n\n<p>Nessa altura, n\u00e3o fazia ideia de qual era a forma correta de o fazer.  Depois de fazer alguma investiga\u00e7\u00e3o sobre os porqu\u00eas e os comos dessa nova predefini\u00e7\u00e3o, descobri que o contorno \u00e9 um indicador de foco do elemento e que, se for removido, deve ser fornecido um estilo de foco \u00f3bvio. Pode personalizar os indicadores de foco como achar melhor, mas remov\u00ea-los completamente do s\u00edtio Web \u00e9 um grande problema de acessibilidade. Personalizar o estilo de foco de um elemento \u00e9 bastante f\u00e1cil, por exemplo:<\/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\">Ferramentas de acessibilidade<\/h2>\n\n\n\n<p>Verificar todas as quest\u00f5es de que fal\u00e1mos pode dar muito trabalho, especialmente sabendo que h\u00e1 muito mais coisas a tratar sobre acessibilidade, por isso, para nos ajudar a lidar com a acessibilidade, temos duas excelentes extens\u00f5es para o browser.<\/p>\n\n\n\n<p><a href=\"https:\/\/wave.webaim.org\/\" rel=\"nofollow\">Ferramenta de avalia\u00e7\u00e3o WAVE<\/a> \u00e9 um conjunto de ferramentas de avalia\u00e7\u00e3o que nos ajuda a tornar o nosso conte\u00fado Web mais acess\u00edvel. Est\u00e1 dispon\u00edvel no Google Chrome e no Firefox. <\/p>\n\n\n\n<p>Vamos experiment\u00e1-la numa pequena p\u00e1gina Web que cont\u00e9m uma barra de navega\u00e7\u00e3o e um input sem etiqueta e ver o que nos d\u00e1. Depois de instalar a extens\u00e3o, basta clicar no \u00edcone da extens\u00e3o para a utilizar.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"\/app\/uploads\/2024\/05\/04-wave-errors.png\" alt=\"janela&lt;em&gt; branca&lt;\/em&gt; com&lt;em&gt;sec\u00e7\u00f5es cinzentas\" title=\"exemplo de erro de onda \"\/><\/figure>\n\n\n\n<p>O separador Resumo mostra 1 erro (elemento de formul\u00e1rio sem etiqueta), 2 erros de contraste e 1 alerta (estrutura de cabe\u00e7alho em falta). O separador Detalhes apresenta uma lista de todos os erros, alertas e carater\u00edsticas. Tamb\u00e9m podemos interagir diretamente na p\u00e1gina, clicando nos rect\u00e2ngulos vermelhos para verificar a descri\u00e7\u00e3o e o tipo de erro.<\/p>\n\n\n\n<p><a href=\"https:\/\/www.deque.com\/axe\/devtools\/\" rel=\"nofollow\">Axe DevTools<\/a> \u00e9 um conjunto de ferramentas de acessibilidade poderoso e preciso. Est\u00e1 dispon\u00edvel no Google Chrome e no Firefox. Depois de instalar a extens\u00e3o, temos de abrir as ferramentas de desenvolvimento do browser e ir para o separador axe DevTools e clicar em Verificar todas as minhas p\u00e1ginas.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"\/app\/uploads\/2024\/05\/05-axe-errors.png\" alt=\"DevTools&lt;em&gt;window&lt;\/em&gt;with&lt;em&gt;black&lt;\/em&gt;grey_sections\" title=\"exemplo de erros de machado \"\/><\/figure>\n\n\n\n<p>Pode ver que a Axe DevTools comunicou os mesmos problemas com a ferramenta de avalia\u00e7\u00e3o WAVE, nomeadamente problemas de contraste, elementos de formul\u00e1rio sem etiqueta e elementos de cabe\u00e7alho em falta.<\/p>\n\n\n\n<p>Uma forma adicional de testar a acessibilidade \u00e9 utilizar um leitor de ecr\u00e3 e testar o seu s\u00edtio Web com ele. Existem muitos leitores de ecr\u00e3 dispon\u00edveis, para citar apenas alguns:<\/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\">Voz de fundo<\/a> est\u00e1 dispon\u00edvel em dispositivos macOs.<\/li>\n\n\n\n<li><a href=\"https:\/\/help.gnome.org\/users\/orca\/stable\/introduction.html.en\" rel=\"nofollow\">Orca<\/a> \u00e9 um leitor de ecr\u00e3 gratuito e de c\u00f3digo aberto para linux.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Resumo<\/h2>\n\n\n\n<p>Vimos neste artigo alguns problemas comuns de acessibilidade da Web, formas de os resolver e algumas ferramentas excelentes para testar a acessibilidade da Web. Ainda h\u00e1 muito mais a abordar sobre a acessibilidade de elementos como Di\u00e1logos, Acorde\u00f5es e Carross\u00e9is, mas, como viu neste artigo, existe muita documenta\u00e7\u00e3o e ferramentas para o ajudar a lidar com a acessibilidade.<\/p>\n\n\n\n<p>Alguns pontos-chave a ter em conta:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Verificar sempre a rela\u00e7\u00e3o de contraste.<\/li>\n\n\n\n<li>Forne\u00e7a sempre conte\u00fado informativo \u00e0s hiperliga\u00e7\u00f5es.<\/li>\n\n\n\n<li>Um elemento de formul\u00e1rio deve ter um r\u00f3tulo associado.<\/li>\n\n\n\n<li>Deve ser fornecido um estilo de focagem \u00f3bvio.<\/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=\"carreira no codest\"\/><\/a><\/figure>","protected":false},"excerpt":{"rendered":"<p>A Web \u00e9 utilizada por milh\u00f5es de pessoas todos os dias e um dos nossos principais objectivos enquanto programadores \u00e9 tornar a Web acess\u00edvel a todos. Este artigo apresenta alguns problemas comuns de acessibilidade da Web e formas de os resolver.<\/p>","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\/pt\/blogue\/problema-de-relacao-de-contraste\/\" \/>\n<meta property=\"og:locale\" content=\"pt_PT\" \/>\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\/pt\/blogue\/problema-de-relacao-de-contraste\/\" \/>\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\":\"pt-PT\",\"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\":\"pt-PT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/thecodest.co\\\/blog\\\/contrast-ratio-issue\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@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\":\"pt-PT\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#organization\",\"name\":\"The Codest\",\"url\":\"https:\\\/\\\/thecodest.co\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@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\":\"pt-PT\",\"@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\\\/pt\\\/author\\\/thecodest\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"4 problemas comuns de acessibilidade da Web que devem ser conhecidos - The Codest","description":"Um guia para quest\u00f5es comuns de acessibilidade da Web que os programadores devem conhecer, com dicas pr\u00e1ticas para melhorar a usabilidade para utilizadores com defici\u00eancias.","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\/pt\/blogue\/problema-de-relacao-de-contraste\/","og_locale":"pt_PT","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\/pt\/blogue\/problema-de-relacao-de-contraste\/","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":"pt-PT","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 problemas comuns de acessibilidade da Web que devem ser conhecidos - 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":"Um guia para quest\u00f5es comuns de acessibilidade da Web que os programadores devem conhecer, com dicas pr\u00e1ticas para melhorar a usabilidade para utilizadores com defici\u00eancias.","breadcrumb":{"@id":"https:\/\/thecodest.co\/blog\/contrast-ratio-issue\/#breadcrumb"},"inLanguage":"pt-PT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/thecodest.co\/blog\/contrast-ratio-issue\/"]}]},{"@type":"ImageObject","inLanguage":"pt-PT","@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":"pt-PT"},{"@type":"Organization","@id":"https:\/\/thecodest.co\/#organization","name":"The Codest","url":"https:\/\/thecodest.co\/","logo":{"@type":"ImageObject","inLanguage":"pt-PT","@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":"pt-PT","@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\/pt\/author\/thecodest\/"}]}},"_links":{"self":[{"href":"https:\/\/thecodest.co\/pt\/wp-json\/wp\/v2\/posts\/3142","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/thecodest.co\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/thecodest.co\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/thecodest.co\/pt\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/thecodest.co\/pt\/wp-json\/wp\/v2\/comments?post=3142"}],"version-history":[{"count":11,"href":"https:\/\/thecodest.co\/pt\/wp-json\/wp\/v2\/posts\/3142\/revisions"}],"predecessor-version":[{"id":8518,"href":"https:\/\/thecodest.co\/pt\/wp-json\/wp\/v2\/posts\/3142\/revisions\/8518"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/thecodest.co\/pt\/wp-json\/wp\/v2\/media\/3143"}],"wp:attachment":[{"href":"https:\/\/thecodest.co\/pt\/wp-json\/wp\/v2\/media?parent=3142"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/thecodest.co\/pt\/wp-json\/wp\/v2\/categories?post=3142"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/thecodest.co\/pt\/wp-json\/wp\/v2\/tags?post=3142"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}