{"id":866,"date":"2026-03-24T11:14:00","date_gmt":"2026-03-24T11:14:00","guid":{"rendered":"https:\/\/webaccessible.cat\/guia-wcag\/botones-accesibles\/"},"modified":"2026-05-29T17:00:56","modified_gmt":"2026-05-29T17:00:56","slug":"botones-accesibles","status":"publish","type":"guia_wcag","link":"https:\/\/webaccessible.cat\/es\/guia-wcag\/botones-accesibles\/","title":{"rendered":"Botones accesibles"},"content":{"rendered":"<h2>\u00bfQu\u00e9 es un bot\u00f3n accesible?<\/h2>\n<p>Un bot\u00f3n accesible es aquel que tiene un nombre accesible: un texto que el lector de pantalla puede leer para informar el usuario de su funci\u00f3n. El nombre accesible puede venir del texto visible del bot\u00f3n, de un atributo aria-labelo, de un atributo title, o del texto alternativo de una imagen dentro del bot\u00f3n.<\/p>\n<p>El criteri WCAG 4.1.2 exigeix que tots els components de la interf\u00edcie d&#8217;usuari (botons, links, camps de formulari) tinguin un nom, rol i valor accessible.<\/p>\n<h2>El problema de los botones con iconos<\/h2>\n<p>Els botons amb icones son un dels errors d&#8217;accessibilitat m\u00e9s habituals. Un bot\u00f3 de cerca amb una lupa, un bot\u00f3 de men\u00fa hamburguesa, un bot\u00f3 de tancar amb una X, un bot\u00f3 de reproduir v\u00eddeo: tots ells son invisibles per als lectors de pantalla si no tenen text accessible.<\/p>\n<p>Quan un lector de pantalla troba un bot\u00f3 sense nom, diu simplement \u00abbot\u00f3\u00bb o \u00abelement sense nom\u00bb. El usuario no sabe si tiene que hacer clic, ni qu\u00e9 acci\u00f3n provocar\u00e1.<\/p>\n<h2>Soluciones pr\u00e1cticas<\/h2>\n<h3>Bot\u00f3n con texto visible<\/h3>\n<p>La soluci\u00f3n m\u00e1s simple y accesible: texto descriptivo dentro del bot\u00f3n.<\/p>\n<p><code>&lt;button&gt;Enviar formulari&lt;\/button&gt;<\/code><br \/>\n<code>&lt;button&gt;Cercar&lt;\/button&gt;<\/code><\/p>\n<h3>La soluci\u00f3n m\u00e1s simple y accesible: texto descriptivo dentro del bot\u00f3n.<\/h3>\n<p>Puedes tener un icono visible y un texto accesible que los lectores de pantalla leen pero que no se ve a la pantalla, usando la t\u00e9cnica del texto visualmente oculto:<\/p>\n<p><code>&lt;button&gt;<\/code><br \/>\n<code>  &lt;svg aria-hidden=\"true\"&gt;&lt;!-- icona lupa --&gt;&lt;\/svg&gt;<\/code><br \/>\n<code>  &lt;span class=\"sr-only\"&gt;Cercar&lt;\/span&gt;<\/code><br \/>\n<code>&lt;\/button&gt;<\/code><\/p>\n<h3>Bot\u00f3n con aria-label<\/h3>\n<p>Para botones donde el texto visible no es posible, usa aria-label:<\/p>\n<p><code>&lt;button aria-label=\"Cercar al web\"&gt;<\/code><br \/>\n<code>  &lt;svg aria-hidden=\"true\"&gt;&lt;!-- icona --&gt;&lt;\/svg&gt;<\/code><br \/>\n<code>&lt;\/button&gt;<\/code><\/p>\n<h3>Bot\u00f3n con imagen<\/h3>\n<p><strong>&#8212; MAL &#8212;<\/strong><br \/>\n<code>&lt;button&gt;&lt;img src=\"search.png\"&gt;&lt;\/button&gt;<\/code><\/p>\n<p><strong>&#8212; BIEN &#8212;<\/strong><br \/>\n<code>&lt;button&gt;&lt;img src=\"search.png\" alt=\"Cercar\"&gt;&lt;\/button&gt;<\/code><\/p>\n<h2>Errores habituales en webs WordPress\/Divi<\/h2>\n<p>Los errores de botones inaccesibles aparecen habitualmente en: botones de men\u00fa hamburguesa en m\u00f3vil sin texto accesible, botones de cierre de modales o popups, botones de las galer\u00edas de im\u00e1genes (anterior, siguiente), botones de reproducci\u00f3n de videos integrados, y botones de compartir en redes sociales con iconos.<\/p>\n<p>A Divi, el m\u00f3dulo de bot\u00f3n genera c\u00f3digo accesible por defecto si tiene texto. Los problemas aparecen en botones creados manualmente v\u00eda HTML o en funcionalidades de terceros como sliders o galer\u00edas.<\/p>\n<h2>Como detectar botones inaccesibles<\/h2>\n<p>La herramienta de autoevaluaci\u00f3n de webaccessible.cat detecta autom\u00e1ticamente botones sin nombre accesible. Al informe aparecer\u00e1n marcados como errores cr\u00edticos, indicando su ubicaci\u00f3n al c\u00f3digo HTML y una recomendaci\u00f3n de correcci\u00f3n.<\/p>\n<p>Otra manera r\u00e1pida: abre las DevTools del navegador, ve a la pesta\u00f1a Accessibility, y revisa el \u00e1rbol de accesibilidad para comprobar si los botones tienen nombre.<\/p>\n<div class=\"et_pb_section_0 et_pb_section et_pb_section--fixed et_section_regular et_flex_section et-interaction-target-03o12ngdyu\" data-interaction-target=\"03o12ngdyu\"><div class=\"et_pb_row_0 et_pb_row et_flex_row\"><div class=\"et_pb_column_0 et_pb_column et_flex_column et_pb_css_mix_blend_mode_passthrough et_flex_column_24_24 et_flex_column_24_24_tablet et_flex_column_24_24_phone\"><div class=\"et_pb_text_0 et_pb_text et_pb_bg_layout_light et_pb_module et_flex_module preset--module--divi-text--default\"><div class=\"et_pb_text_inner\"><p>Your content goes here. Edit or remove this text inline or in the module Content settings. You can also style every aspect of this content in the module Design settings and even apply custom CSS to this text in the module Advanced settings.<\/p>\n<\/div><\/div><\/div><div class=\"et_pb_column_1 et_pb_column et-last-child et_flex_column et_pb_css_mix_blend_mode_passthrough et_flex_column_24_24 et_flex_column_24_24_tablet et_flex_column_24_24_phone\"><div class=\"et_pb_icon_0 et_pb_icon et_pb_module et_flex_module\" data-interaction-trigger=\"4bs8z0k0z5\"><span class=\"et_pb_icon_wrap\"><span class=\"et-pb-icon\">M<\/span><\/span><\/div><\/div><\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>Un bot\u00f3n sin texto accesible es un callej\u00f3n sin salida para los usuarios de lectores de pantalla Aprende qu\u00e9 botones fallan habitualmente y como darles un nombre accesible.<\/p>\n","protected":false},"featured_media":0,"template":"","class_list":["post-866","guia_wcag","type-guia_wcag","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/webaccessible.cat\/es\/wp-json\/wp\/v2\/guia_wcag\/866","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/webaccessible.cat\/es\/wp-json\/wp\/v2\/guia_wcag"}],"about":[{"href":"https:\/\/webaccessible.cat\/es\/wp-json\/wp\/v2\/types\/guia_wcag"}],"wp:attachment":[{"href":"https:\/\/webaccessible.cat\/es\/wp-json\/wp\/v2\/media?parent=866"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}