{"id":7,"date":"2019-03-06T21:58:56","date_gmt":"2019-03-06T20:58:56","guid":{"rendered":"http:\/\/tesseractspace.com\/blog\/?p=7"},"modified":"2022-06-15T12:47:20","modified_gmt":"2022-06-15T18:47:20","slug":"accesibilidad-para-aplicaciones-web-con-wai-aria","status":"publish","type":"post","link":"https:\/\/www.tesseractspace.com\/blog\/accesibilidad-para-aplicaciones-web-con-wai-aria\/","title":{"rendered":"Accesibilidad para aplicaciones web con WAI ARIA"},"content":{"rendered":"\n<h4 class=\"wp-block-heading\">La accesibilidad para usuarios invidentes en aplicaciones web no es dif\u00edcil de implementar, si se conocen los est\u00e1ndares que le dan soporte, como WAI ARIA.<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">De acuerdo con <a href=\"http:\/\/www.amfecco.org\/article_estadisticas.php\">el censo de INEGI en el a\u00f1o 2010<\/a>, en M\u00e9xico hab\u00eda entonces cerca de 1,292,201 personas con discapacidad visual, esto es poco m\u00e1s del 1% de la poblaci\u00f3n del pa\u00eds. Si sumamos a las personas que no son completamente invidentes pero tienen alg\u00fan problema visual el n\u00famero sube a 48,575,560 personas, o al 43.24% de la poblaci\u00f3n, de los que la tercera parte son ni\u00f1os en edad escolar.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En M\u00e9xico la segunda discapacidad m\u00e1s com\u00fan es la visual, y es la m\u00e1s temida por la poblaci\u00f3n en general. No es sorpresa si consideramos que de toda la informaci\u00f3n que una persona recibe en su vida, el 80% de ella ingresa por los ojos. Esto es particularmente cierto cuando hablamos de la web y de los medios digitales.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Muchas personas que trabajan dise\u00f1ando o desarrollando sitios web creen que para hacer sus sitios accesibles es necesario una tecnolog\u00eda adicional a lo que ya utilizan. En realidad no se necesita nada adicional, sino tener en consideraci\u00f3n algunas gu\u00edas para que su trabajo sea accesible a todas las personas, incluyendo a las que tienen problemas visuales.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La <a href=\"http:\/\/www.w3.org\/\">W3C<\/a> cre\u00f3 una especificaci\u00f3n t\u00e9cnica para la implementaci\u00f3n de accesibilidad para sitios web llamada <a href=\"http:\/\/www.w3.org\/WAI\/intro\/aria.php\"><strong>WAI ARIA<\/strong> (<em>Web Accessibility Initiative &#8211; Accessible Rich Internet Applications<\/em>)<\/a>, enfocada especialmente a aplicaciones web que utilizan Javascript y AJAX, ya que estos patrones de desarrollo cambian din\u00e1micamente el contenido de una p\u00e1gina web, haci\u00e9ndola poco accesible para personas que utilizan <a href=\"https:\/\/www.youtube.com\/watch?v=uT8JhnuFiN8\">lectores digitales<\/a> u otras tecnolog\u00edas para usuarios con discapacidades.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">WAI-ARIA describe c\u00f3mo a\u00f1adir contenido sem\u00e1ntico y metadatos al contenido HTML para hacer los controles de la UI y el contenido din\u00e1mico m\u00e1s accesible. Por ejemplo, con WAI-ARIA es posible identificar enlaces en el men\u00fa de navegaci\u00f3n incluso si \u00e9ste se encuentra colapsado.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La especificaci\u00f3n WAI-ARIA est\u00e1 basada en tres diferentes atributos: <em>roles<\/em>, <em>estados<\/em> y <em>propiedades<\/em>. Estos atributos tienen las siguientes funciones:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>Roles<\/strong> (<em>roles<\/em>): describen algunos de los elementos y <em>widgets <\/em>comunes en la UI web pero que no est\u00e1n disponibles en HTML, como <em>sliders<\/em>, pesta\u00f1as, etc., contruidos con HTML, CSS y JavaScript. Tambi\u00e9n se utilizan para describir la estructura de la p\u00e1gina incluyendo encabezados, tablas y otros elementos.<\/li><li><strong>Propiedades <\/strong>(<em>properties<\/em>): describen los estados de los <em>widgets<\/em>. Por ejemplo, cuando un elemento en la p\u00e1gina es \u201carrastrable\u201d, tiene un elemento <em>popup <\/em>asociado con \u00e9l.<\/li><li><strong>Estados <\/strong>(<em>states<\/em>): describen si un elemento es interactivo o no, es decir, los \u2018estados\u2019 informan a los lectores digitales si el estado de un elemento en la p\u00e1gina es <em>\u2018ocupado\u2019<\/em>, <em>\u2018deshabilitado\u2019<\/em>, <em>\u2018seleccionado\u2019<\/em> u <em>\u2018oculto\u2019<\/em>.<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Revisemos este c\u00f3digo web sencillo para una navegaci\u00f3n de pesta\u00f1as:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">&lt;!-- \u00bfC\u00f3mo sabr\u00edas que este es un widget de pesta\u00f1as solo viendo el c\u00f3digo? --&gt; &lt;ol&gt;<br> &nbsp;&nbsp;&nbsp; &lt;li id=\"chapter1Tab\"&gt;<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;a href=\"#chapter1Panel\"&gt;Cap\u00edtulo 1&lt;\/a&gt;<br>  &nbsp;&nbsp;&nbsp; &lt;\/li&gt;<br> &nbsp;&nbsp;&nbsp; &lt;li id=\"chapter2Tab\"&gt;<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;a href=\"#chapter2Panel\"&gt;Cap\u00edtulo 2&lt;\/a&gt;<br> &nbsp;&nbsp;&nbsp; &lt;\/li&gt;<br> &nbsp;&nbsp;&nbsp; &lt;li id=\"quizTab\"&gt;<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;a href=\"#quizPanel\"&gt;Examen&lt;\/a&gt;<br> &nbsp;&nbsp;&nbsp; &lt;\/li&gt;<br> &lt;\/ol&gt;<br> &lt;div&gt;<br> &nbsp;&nbsp;&nbsp; &lt;div id=\"chapter1Panel\"&gt;Contenido del cap\u00edtulo 1&lt;\/div&gt;<br> &nbsp;&nbsp;&nbsp; &lt;div id=\"chapter2Panel\"&gt;Contenido del cap\u00edtulo 2&lt;\/div&gt;<br> &nbsp;&nbsp;&nbsp; &lt;div id=\"quizPanel\"&gt;Contenido del examen&lt;\/div&gt;<br> &lt;\/div&gt;<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Ahora el mismo c\u00f3digo, pero con WAI ARIA:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">&lt;!-- He a\u00f1adido atributos de roles para describir cada pesta\u00f1a y su contenido asociado --&gt;<br> &lt;ol role=\"tablist\"&gt;<br> &nbsp;&nbsp;&nbsp; &lt;li id=\"chapter1Tab\" role=\"tab\"&gt;<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;a href=\"#chapter1Panel\"&gt;Cap\u00edtulo 1&lt;\/a&gt;<br>  &nbsp;&nbsp;&nbsp; &lt;\/li&gt;<br> &nbsp;&nbsp;&nbsp; &lt;li id=\"chapter2Tab\" role=\"tab\"&gt;<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;a href=\"#chapter2Panel\"&gt;Cap\u00edtulo 2&lt;\/a&gt;<br> &nbsp;&nbsp;&nbsp; &lt;\/li&gt;<br> &nbsp;&nbsp;&nbsp; &lt;li id=\"quizTab\" role=\"tab\"&gt;<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;a href=\"#quizPanel\"&gt;Examen&lt;\/a&gt;<br> &nbsp;&nbsp;&nbsp; &lt;\/li&gt;<br> &lt;\/ol&gt;<br> &lt;div&gt;<br> &nbsp;&nbsp;&nbsp; &lt;div id=\"chapter1Panel\" role=\"tabpanel\" aria-labelledby=\"chapter1Tab\"&gt;<br> &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  Contenido del cap\u00edtulo 1<br>     &lt;\/div&gt;<br> &nbsp;&nbsp;&nbsp; &lt;div id=\"chapter2Panel\" role=\"tabpanel\" aria-labelledby=\"chapter2Tab\"&gt;<br> &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  Contenido del cap\u00edtulo 2 <br>     &lt;\/div&gt;<br> &nbsp;&nbsp;&nbsp; &lt;div id=\"quizPanel\" role=\"tabpanel\" aria-labelledby=\"quizTab\"&gt;<br> &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; Contenido del examen<br> &nbsp;&nbsp;&nbsp; &lt;\/div&gt;<br> &lt;\/div&gt;<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Al a\u00f1adir los atributos de WAI-ARIA al etiquetado HTML, las tecnolog\u00edas de apoyo a personas discapacitadas pueden interactuar tambi\u00e9n con controles creados con JavaScript. De hecho, la implementaci\u00f3n de WAI-ARIA est\u00e1 pensada para hacer accesibles sitios en navegadores viejos sin soporte a las etiquetas sem\u00e1nticas de HTML5.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"http:\/\/www.w3.org\/WAI\/\">El grupo de trabajo de WAI ARIA en el W3C<\/a> ya est\u00e1 trabajando en la especificaci\u00f3n para HTML5 y otras especificaciones como SVG. Tambi\u00e9n han creado una herramienta llamada \u201c<a href=\"http:\/\/www.w3.org\/WAI\/eval\/report-tool\/\">Generador de reportes de evaluaci\u00f3n de accesibilidad de sitios web<\/a>\u201d para revisar la integraci\u00f3n de WAI ARIA y otras especificaciones de accesibilidad en sitios web existentes.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introducci\u00f3n breve a la especificaci\u00f3n WAI ARIA sobre c\u00f3mo implementar accesibilidad para sitios web y hacerlos \u00fatiles para personas invidentes.<\/p>\n","protected":false},"author":1,"featured_media":760,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[1],"tags":[3,2,7,5,6,4],"class_list":["post-7","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-experiencia-de-usuario","tag-a11y","tag-accesibilidad","tag-html","tag-w3c","tag-wai-aria","tag-web","entry"],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/www.tesseractspace.com\/blog\/wp-content\/uploads\/2019\/03\/braille.jpg?fit=1200%2C675&ssl=1","jetpack_sharing_enabled":true,"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.tesseractspace.com\/blog\/wp-json\/wp\/v2\/posts\/7","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.tesseractspace.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.tesseractspace.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.tesseractspace.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.tesseractspace.com\/blog\/wp-json\/wp\/v2\/comments?post=7"}],"version-history":[{"count":5,"href":"https:\/\/www.tesseractspace.com\/blog\/wp-json\/wp\/v2\/posts\/7\/revisions"}],"predecessor-version":[{"id":419,"href":"https:\/\/www.tesseractspace.com\/blog\/wp-json\/wp\/v2\/posts\/7\/revisions\/419"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.tesseractspace.com\/blog\/wp-json\/wp\/v2\/media\/760"}],"wp:attachment":[{"href":"https:\/\/www.tesseractspace.com\/blog\/wp-json\/wp\/v2\/media?parent=7"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.tesseractspace.com\/blog\/wp-json\/wp\/v2\/categories?post=7"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.tesseractspace.com\/blog\/wp-json\/wp\/v2\/tags?post=7"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}