{"id":141,"date":"2023-09-06T07:23:45","date_gmt":"2023-09-06T11:23:45","guid":{"rendered":"https:\/\/accesibilidad.upr.edu\/?page_id=141"},"modified":"2023-09-06T15:26:50","modified_gmt":"2023-09-06T19:26:50","slug":"posibles-soluciones-a-problemas-de-accesibilidad","status":"publish","type":"page","link":"https:\/\/accesibilidad.upr.edu\/en\/posibles-soluciones-a-problemas-de-accesibilidad\/","title":{"rendered":"Possible Solutions to Accessibility Problems"},"content":{"rendered":"<div class=\"wpb-content-wrapper\" id=\"wpb-content-root\"><div data-vc-full-width=\"true\" data-vc-full-width-temp=\"true\" data-vc-full-width-init=\"false\" class=\"vc_row wpb_row vc_row-fluid vc_custom_1694007376140 vc_row-has-fill\"><div class=\"wpb_column vc_column_container vc_col-sm-12\"><div class=\"vc_column-inner\"><div class=\"wpb_wrapper\"><div class=\"vc_row wpb_row vc_inner vc_row-fluid\"><div class=\"wpb_column vc_column_container vc_col-sm-12\"><div class=\"vc_column-inner\"><div class=\"wpb_wrapper\">\n\t<div class=\"wpb_text_column wpb_content_element \" >\n\t\t<div class=\"wpb_wrapper\">\n\t\t\t<h1 style=\"text-align: center;\">Posibles Soluciones a Problemas de Accesibilidad<\/h1>\n\n\t\t<\/div>\n\t<\/div>\n<\/div><\/div><\/div><\/div><div class=\"vc_row wpb_row vc_inner vc_row-fluid\"><div class=\"wpb_column vc_column_container vc_col-sm-12\"><div class=\"vc_column-inner\"><div class=\"wpb_wrapper\"><\/div><\/div><\/div><\/div><div class=\"vc_empty_space\"   style=\"height: 32px\"><span class=\"vc_empty_space_inner\"><\/span><\/div><\/div><\/div><\/div><\/div><div class=\"vc_row-full-width vc_clearfix\"><\/div><div class=\"vc_row wpb_row vc_row-fluid\"><div class=\"wpb_column vc_column_container vc_col-sm-12\"><div class=\"vc_column-inner\"><div class=\"wpb_wrapper\"><div class=\"vc_tta-container\" data-vc-action=\"collapseAll\"><div class=\"vc_general vc_tta vc_tta-accordion vc_tta-color-custom vc_tta-style-classic vc_tta-shape-rounded vc_tta-o-shape-group vc_tta-controls-align-left vc_tta-o-all-clickable\" style=\"--vc-tta-color: #F8F8F8; --vc-tta-color-contrast: #666; --vc-tta-spacing: 0px; --vc-tta-gap: 0px;\"><div class=\"vc_tta-panels-container\"><div class=\"vc_tta-panels\"><div class=\"vc_tta-panel\" id=\"problema-del-mobil-menu\" data-vc-content=\".vc_tta-panel-body\"><div class=\"vc_tta-panel-heading\"><h4 class=\"vc_tta-panel-title vc_tta-controls-icon-position-left\"><a href=\"#problema-del-mobil-menu\" data-vc-accordion data-vc-container=\".vc_tta-container\"><span class=\"vc_tta-title-text\">Problema del \"mobile menu\" (hamburger menu). Utilizado en el Theme \"The7\"<\/span><i class=\"vc_tta-controls-icon vc_tta-controls-icon-plus\"><\/i><\/a><\/h4><\/div><div class=\"vc_tta-panel-body\">\n\t<div class=\"wpb_text_column wpb_content_element \" >\n\t\t<div class=\"wpb_wrapper\">\n\t\t\t<h3><strong>Problema:<\/strong><\/h3>\n<p style=\"padding-left: 40px;\">El men\u00fa-m\u00f3vil es un dise\u00f1o creado para telefonos m\u00f3vil, y por consecuencia no tiene en consideraci\u00f3n el uso del teclado para moverse entre las opciones del men\u00fa. Si el usuario hace \u00abZoom\u00bb provocando que aparezca el \u00abmobil menu\u00bb, y luego intenta usar el teclado para moverse por las opciones, luego de llegar a la opci\u00f3n final del men\u00fa, el foco (opci\u00f3n seleccionada) se pierde quedando detr\u00e1s del \u00abmobil menu\u00bb.\u00a0 El \u00abmobil menu\u00bb queda abierto cubriendo la mayor parte de la p\u00e1gina. El usuario tampoco puede cerrar el \u00abmobil menu\u00bb ya que no hay forma de saber si el foco est\u00e1 en el bot\u00f3n de cerrar.<\/p>\n<p>&nbsp;<\/p>\n<h3><strong>Soluci\u00f3n:<\/strong><\/h3>\n<p style=\"padding-left: 40px;\">Lo que se intent\u00f3 hacer es que cuando el usuario entre al \u00abmobil menu\u00bb, permanezca en el mismo rotando por las opciones y pasando por el bot\u00f3n de cerrar el men\u00fa para que lo pueda accionar.\u00a0 Tambi\u00e9n se a\u00f1adi\u00f3 que cuando oprima la tecla \u00abEsc\u00bb el \u00abmobil menu\u00bb cierre.<\/p>\n<p style=\"padding-left: 40px;\"><strong>Nota:\u00a0 Antes de intentar el procedimiento de esta soluci\u00f3n, deber\u00e1n estar seguros que los focos sean visibles en todas las opciones, incluyendo el bot\u00f3n de cerrar el men\u00fa.<\/strong><\/p>\n<p>&nbsp;<\/p>\n<h3><strong>Procedimiento:<\/strong><\/h3>\n<ol>\n<li>Activar el plugin \u201cHeader and Footer Scripts\u201d \u2013 Este plugin garantiza que si pongo c\u00f3digo en \u201cFooter\u201d podr\u00e9 tener acceso a todos los elementos de la p\u00e1gina. (si uso \u201cHeader\u201d \u2013 el programa se ejecuta antes de que se gener la p\u00e1gina y no estar\u00e1n accesible los elementos).<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-145 size-full\" src=\"http:\/\/accesibilidad.upr.edu\/wp-content\/uploads\/sites\/132\/2023\/09\/mobil-menu-01.png\" alt=\"Imagen de la p\u00e1gina administrativa de WordPress dentro de &quot;Plugins&quot; se\u00f1alando exclusivamente el Plugin llamado &quot;Header and Footer Scripts&quot;\" width=\"1158\" height=\"84\" srcset=\"https:\/\/accesibilidad.upr.edu\/wp-content\/uploads\/sites\/132\/2023\/09\/mobil-menu-01.png 1158w, https:\/\/accesibilidad.upr.edu\/wp-content\/uploads\/sites\/132\/2023\/09\/mobil-menu-01-300x22.png 300w, https:\/\/accesibilidad.upr.edu\/wp-content\/uploads\/sites\/132\/2023\/09\/mobil-menu-01-1024x74.png 1024w, https:\/\/accesibilidad.upr.edu\/wp-content\/uploads\/sites\/132\/2023\/09\/mobil-menu-01-768x56.png 768w, https:\/\/accesibilidad.upr.edu\/wp-content\/uploads\/sites\/132\/2023\/09\/mobil-menu-01-18x1.png 18w\" sizes=\"auto, (max-width: 1158px) 100vw, 1158px\" \/><\/li>\n<li>Despu\u00e9s de activar este plugin hay que ir al men\u00fa de administraci\u00f3n (a la izquierda) de la siguiente forma:<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-146 size-full\" src=\"http:\/\/accesibilidad.upr.edu\/wp-content\/uploads\/sites\/132\/2023\/09\/mobil-menu-02.png\" alt=\"Muestra el men\u00fa administrativo de WordPress de la izquierda. Hay dos flechas. Flecha n\u00famero 1 se\u00f1ala la opci\u00f3n &quot;Settings&quot;. Flecha n\u00famero 2 se\u00f1ala a la aplicaci\u00f3n &quot;Header and Footer Scripts&quot;\" width=\"820\" height=\"630\" srcset=\"https:\/\/accesibilidad.upr.edu\/wp-content\/uploads\/sites\/132\/2023\/09\/mobil-menu-02.png 820w, https:\/\/accesibilidad.upr.edu\/wp-content\/uploads\/sites\/132\/2023\/09\/mobil-menu-02-300x230.png 300w, https:\/\/accesibilidad.upr.edu\/wp-content\/uploads\/sites\/132\/2023\/09\/mobil-menu-02-768x590.png 768w, https:\/\/accesibilidad.upr.edu\/wp-content\/uploads\/sites\/132\/2023\/09\/mobil-menu-02-16x12.png 16w\" sizes=\"auto, (max-width: 820px) 100vw, 820px\" \/><\/li>\n<li>En la pantalla que se nos presenta, buscamos la secci\u00f3n de \u201cScripts in footer\u201d. En el \u00e1rea provista, debemos escribir el c\u00f3digo. \u2013 Recuerden al grabar escribir \u201c&lt;script&gt;\u201d al comienzo y \u201c&lt;\/script&gt;\u201d al final. Si ya tienen c\u00f3digo en esta secci\u00f3n, hagan un espacio entre &lt;script&gt; y &lt;\/script&gt; para insertar el c\u00f3digo nuevo sin borrar el viejo.<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-147 size-full\" src=\"http:\/\/accesibilidad.upr.edu\/wp-content\/uploads\/sites\/132\/2023\/09\/mobil-menu-03.png\" alt=\"Imagen de la ventana de configuraci\u00f3n del Plugin &quot;Header and Footer Scripts&quot;. Dos flechas con el n\u00famero 3 y 4. Flecha con n\u00famero 3 Indica el \u00e1rea donde se escribe el c\u00f3digo en JavaScript. Flecha con n\u00famero 4 se\u00f1ala donde se graba los cambios.\" width=\"986\" height=\"1081\" srcset=\"https:\/\/accesibilidad.upr.edu\/wp-content\/uploads\/sites\/132\/2023\/09\/mobil-menu-03.png 986w, https:\/\/accesibilidad.upr.edu\/wp-content\/uploads\/sites\/132\/2023\/09\/mobil-menu-03-274x300.png 274w, https:\/\/accesibilidad.upr.edu\/wp-content\/uploads\/sites\/132\/2023\/09\/mobil-menu-03-934x1024.png 934w, https:\/\/accesibilidad.upr.edu\/wp-content\/uploads\/sites\/132\/2023\/09\/mobil-menu-03-768x842.png 768w, https:\/\/accesibilidad.upr.edu\/wp-content\/uploads\/sites\/132\/2023\/09\/mobil-menu-03-11x12.png 11w\" sizes=\"auto, (max-width: 986px) 100vw, 986px\" \/><\/li>\n<li>A continuaci\u00f3n el c\u00f3digo JavaScript que se debe insertar:<\/li>\n<\/ol>\n<p>[code language=\u00bbjavascript\u00bb]<br \/>\n\/\/================================================================================<br \/>\n\/\/=== PARA MENU DE HAMBURGER<\/p>\n<p>\/\/ Buscamos el DIV que define el icono de &quot;close&quot; [X]<br \/>\n\/\/ En este caso, es el que tiene la clase &quot;dt-close-mobile-menu-icon&quot;<br \/>\nlet temp = document.getElementsByClassName(&quot;dt-close-mobile-menu-icon&quot;);<br \/>\nif(temp.length&gt;0) var div_close = temp[0];<br \/>\n\/\/Ahora le asignamos a este DIV el atributo &quot;tabuindex&quot;=0 para que sea accesible con el teclado.<br \/>\ndiv_close.setAttribute(&quot;tabindex&quot;, &quot;0&quot;);<\/p>\n<p>\/\/Necesitamos tener un manejador de eventos, para capturar acciones del TECLADO.<br \/>\n\/\/Con esto podemos cotejar teclas oprimidas por el usuario<br \/>\n\/\/Cuanto el usuario accione una tecla, correr\u00e1 la funci\u00f3n &quot;handle_key_press&quot; que esta definida mas adelante<br \/>\ndocument.addEventListener(&quot;keydown&quot;,handle_key_press);<\/p>\n<p>\/\/Como necesitamos alterar la funcionalidad de cada opcion del men\u00fa<br \/>\n\/\/obtenemos todas las opciones y la gardamos en la lista &quot;li_hmenu&quot;.<br \/>\nvar li_hmenu = document.querySelectorAll(&#8216;#mobile-menu&gt;li&#8217;);<br \/>\nif(li_hmenu.length&gt;0)<br \/>\n{ \/\/Para hacernos la vida facil, identificamos el primer elemento del men\u00fa (first_menu_element),<br \/>\n  \/\/y el \u00faltimo (last_menu_element) que vamos a usar mas adelante.<br \/>\n    var first_menu_element = li_hmenu[0];<br \/>\n    var last_menu_element = li_hmenu[li_hmenu.length-1];<br \/>\n}<\/p>\n<p>\/\/ Ya de inicio, debemos de poner los elementos dentro de este men\u00fa NO ACCESIBLE- ya que el menu-mobile est\u00e1 escondido al inicio tambi\u00e9n.<br \/>\n\/\/ De lo contrario el usuario podra navegar por las opciones del men\u00fa &quot;tras bastidores&quot;<br \/>\nli_hmenu.forEach(function(mi_li){<br \/>\n    let a = mi_li.querySelectorAll(&#8216;a&#8217;)[0];<br \/>\n    a.setAttribute(&quot;aria-hidden&quot;, &quot;true&quot;);<br \/>\n    a.setAttribute(&quot;aria-disabled&quot;, &quot;true&quot;);<br \/>\n    a.setAttribute(&quot;tabindex&quot;, &quot;-1&quot;);<br \/>\n});<\/p>\n<p>\/\/&#8212;&#8212;&#8211; Importante para detectar si el men\u00fa est\u00e1 ABIERTO o CERRADO  &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\n\/\/Este DIV es contiene dentro el Mobil-Menu.  Seg\u00fan su CLASS &#8211; puede mostrar o esconder el mobile-menu:<br \/>\n\/\/     Class=&quot;show-mobile-header&quot;    ==&gt; Muestra el Mobile-Menu<br \/>\n\/\/     Class=&quot;closed-mobile-header&quot;  ==&gt; Esconde el Mobile-Menu<br \/>\nvar div_page = document.getElementById(&#8216;page&#8217;);<\/p>\n<p>\/\/ ================================================================================================<br \/>\n\/\/ Esta funci\u00f3n se acciona cuando el usuario oprime una tecla<br \/>\n\/\/ &quot;event&quot; contiene informaci\u00f3n sobre la tecla oprimida.<br \/>\nfunction handle_key_press(event)<br \/>\n{<br \/>\n    const key           = event.key;                \/\/Tecla oprimida<br \/>\n    const ShiftPressed  = event.shiftKey;           \/\/Est\u00e1 oprimida la tecla &quot;SHIFT&quot;? (true\/false)<br \/>\n    const focus_element = document.activeElement;   \/\/Cual es el elemento que tiene el foco actualmente<\/p>\n<p>\/\/ Cotejamos primero, \u00bfEsta abierto el mobil-menu??<br \/>\n if(div_page.classList.contains(&quot;show-mobile-header&quot;))<br \/>\n { \/\/ Si est\u00e1 abierto, entonces mantenemos el foco dentro de este mobile-menu de la siguiente forma:<\/p>\n<p>    \/\/Si el usuario Oprime &quot;TAB&quot;<br \/>\n    if(key===&quot;Tab&quot;)<br \/>\n    {<br \/>\n        if(((last_menu_element.contains(focus_element)) &amp;&amp; (! ShiftPressed))  ||    \/\/&lt;&#8211; Ultima opci\u00f3n de men\u00fa y vamos para el pr\u00f3ximo<br \/>\n           ((first_menu_element.contains(focus_element)) &amp;&amp; (ShiftPressed)) )       \/\/&lt;&#8211; Primera opci\u00f3n de men\u00fa y vamos para el anterior<br \/>\n        {  \/\/Estamos por salir del menu!!!<br \/>\n            event.preventDefault(); \/\/Evitamos que ejecute el movimiento de foco.<\/p>\n<p>            \/\/Ahora asignamos el foco al bot\u00f3n de &quot;Close&quot;<br \/>\n            div_close.focus();<br \/>\n        }<br \/>\n    }<\/p>\n<p>    \/\/&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\n    \/\/ PARA PODER SALIR DEL MEN\u00da:<br \/>\n    \/\/Si el usuario Oprime &quot;ESCAPE&quot;<br \/>\n    if(key===&quot;Escape&quot;)<br \/>\n    {<br \/>\n        div_close.click();<br \/>\n    }<\/p>\n<p>    \/\/Si el usuairo oprime espacio, o ENTER y el foco lo tenemos en &quot;CLOSE&quot; debemos cerrar!!<br \/>\n    if(  ((key===&quot; &quot;) || (key===&quot;Enter&quot;)) &amp;&amp; (focus_element==div_close) )<br \/>\n    {<br \/>\n        event.preventDefault(); \/\/Evitamos que ejecute el movimiento de foco. (espacio hace que la p\u00e1gina se mueva)<br \/>\n        div_close.click();<br \/>\n    }<\/p>\n<p> }<\/p>\n<p>}<br \/>\n\/\/^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^<br \/>\n\/\/ Fin de funci\u00f3n handle_key_press(event)<\/p>\n<p>\/\/&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br \/>\n\/\/ Esta funcion se llama cuando &quot;div_page&quot; tiene un cambio de clase<br \/>\n\/\/ (ver definici\u00f3n al final &quot;observer&quot;)<br \/>\n\/\/El prop\u00f3sito de esta funci\u00f3n es:<br \/>\n\/\/  1. Cuando se abre el mobil-menu:<br \/>\n\/\/               Poner todos los &quot;anchors&quot; accesibles, y luego poner el foco en el primer elemento.<br \/>\n\/\/  2. Cuando se cierra el mobil-menu<br \/>\n\/\/               Poner todos los &quot;anchors&quot; inaccesibles con el teclado ya que esta escondido<br \/>\nfunction hubo_cambio_de_clase(mutationList, observer)<br \/>\n{<br \/>\n    mutationList.forEach(function(mutation) {<br \/>\n      if (mutation.type === &#8216;attributes&#8217; &amp;&amp; mutation.attributeName === &#8216;class&#8217;)<br \/>\n      {\/\/ Este elemento tuvo un cambio de clase!!!    <\/p>\n<p>        \/\/Si cambi\u00f3 para ABRIR el mobile-menu:<br \/>\n        if(mutation.target.classList.contains(&quot;show-mobile-header&quot;))<br \/>\n        { \/\/ activamos los elementos para que puedan tener foco.<br \/>\n            li_hmenu.forEach(function(mi_li){<br \/>\n                let a = mi_li.querySelectorAll(&#8216;a&#8217;)[0];<br \/>\n                a.setAttribute(&quot;aria-hidden&quot;, &quot;false&quot;);<br \/>\n                a.setAttribute(&quot;aria-disabled&quot;, &quot;false&quot;);<br \/>\n                a.setAttribute(&quot;tabindex&quot;, &quot;0&quot;);<br \/>\n            });<br \/>\n            \/\/ Ponemos el primer elemento con foco:<br \/>\n            first_menu_element.querySelectorAll(&#8216;a&#8217;)[0].focus(); \/\/ Podemos eliminarlo.<br \/>\n        }<\/p>\n<p>        \/\/Si cambi\u00f3 para CERRAR el mobile-menu<br \/>\n        if(mutation.target.classList.contains(&quot;closed-mobile-header&quot;))<br \/>\n        {\/\/  desactivamos los elementos para que no tengan foco:<\/p>\n<p>            li_hmenu.forEach(function(mi_li){<br \/>\n                let a = mi_li.querySelectorAll(&#8216;a&#8217;)[0];<br \/>\n                a.setAttribute(&quot;aria-hidden&quot;, &quot;true&quot;);<br \/>\n                a.setAttribute(&quot;aria-disabled&quot;, &quot;true&quot;);<br \/>\n                a.setAttribute(&quot;tabindex&quot;, &quot;-1&quot;);<br \/>\n            });<\/p>\n<p>        }<\/p>\n<p>      }<br \/>\n    })<br \/>\n  }<br \/>\n\/\/^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^<br \/>\n\/\/Fin de funci\u00f3n: hubo_cambio_de_clase(mutationList, observer) <\/p>\n<p>\/\/Creamos un manejador de eventos con el &quot;div_page&quot; para monitorear cuando cambia el atributo &quot;CLASS&quot; de este div<br \/>\nconst observer = new MutationObserver(hubo_cambio_de_clase)  \/\/&lt;&#8211; &quot;hubo_cambio_de_clase&quot; es la funcion que corre cuando cambia la clase<br \/>\nobserver.observe(div_page, {attributes: true});  \/\/&lt;&#8211; A\u00f1adimos el &quot;div_page&quot; para que observe los cambios de clase.<\/p>\n<p>\/\/FIN DE LAS DECLARACIONES Y FUNCIONES<br \/>\n[\/code]<\/p>\n\n\t\t<\/div>\n\t<\/div>\n<\/div><\/div><div class=\"vc_tta-panel\" id=\"foco-no-visible-caso-general\" data-vc-content=\".vc_tta-panel-body\"><div class=\"vc_tta-panel-heading\"><h4 class=\"vc_tta-panel-title vc_tta-controls-icon-position-left\"><a href=\"#foco-no-visible-caso-general\" data-vc-accordion data-vc-container=\".vc_tta-container\"><span class=\"vc_tta-title-text\">Foco no visible - Caso General<\/span><i class=\"vc_tta-controls-icon vc_tta-controls-icon-plus\"><\/i><\/a><\/h4><\/div><div class=\"vc_tta-panel-body\">\n\t<div class=\"wpb_text_column wpb_content_element \" >\n\t\t<div class=\"wpb_wrapper\">\n\t\t\t<h3><strong>Problema:<\/strong><\/h3>\n<p style=\"padding-left: 40px;\">Si una persona intenta utilizar el teclado para acceder los enlaces, botones o\u00a0 a las opciones en el men\u00fa, visualmente no es posible de saber en cual elemento est\u00e1 el foco ubicado.<\/p>\n<h3><strong>Soluci\u00f3n:<\/strong><\/h3>\n<p style=\"padding-left: 40px;\">Esta falla se puede en la mayor\u00eda de las partes se puede corregir con c\u00f3digo CSS.<\/p>\n<p style=\"padding-left: 40px;\"><strong>Nota:\u00a0 Puede ser que a\u00fan a\u00f1adiendo el c\u00f3digo, otros elementos NO muestren visualmente si est\u00e1 enfocado.\u00a0 Habr\u00e1 que corregir a\u00f1adiendo otro c\u00f3digo para esa excepci\u00f3n.<\/strong><\/p>\n<p>&nbsp;<\/p>\n<h3><strong>Procedimiento para usuarios de Theme The7:<\/strong><\/h3>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>\n<li>En el \u00e1rea de administraci\u00f3n de su p\u00e1gina vaya al men\u00fa superior y busque \u00abTheme Options\u00bb \u2192 \u00abAdvanced\u00bb<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-161 size-full\" src=\"http:\/\/accesibilidad.upr.edu\/wp-content\/uploads\/sites\/132\/2023\/09\/Focus-General-01.png\" alt=\"Muestra el men\u00fa administrativo, las opciones dentro de &quot;Theme Options&quot;. Hay dos flechas. La flecha 1 se\u00f1ala la ubicaci\u00f3n de &quot;Theme Optiones&quot;. La flecha 2 se\u00f1ala la opci\u00f3n &quot;Advanced&quot;\" width=\"1380\" height=\"564\" srcset=\"https:\/\/accesibilidad.upr.edu\/wp-content\/uploads\/sites\/132\/2023\/09\/Focus-General-01.png 1380w, https:\/\/accesibilidad.upr.edu\/wp-content\/uploads\/sites\/132\/2023\/09\/Focus-General-01-300x123.png 300w, https:\/\/accesibilidad.upr.edu\/wp-content\/uploads\/sites\/132\/2023\/09\/Focus-General-01-1024x419.png 1024w, https:\/\/accesibilidad.upr.edu\/wp-content\/uploads\/sites\/132\/2023\/09\/Focus-General-01-768x314.png 768w, https:\/\/accesibilidad.upr.edu\/wp-content\/uploads\/sites\/132\/2023\/09\/Focus-General-01-18x7.png 18w\" sizes=\"auto, (max-width: 1380px) 100vw, 1380px\" \/><\/li>\n<li>Dele clic al \u00abTab\u00bb que dice \u00abCustom CSS\u00bb (flecha 3)<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-162 size-full\" src=\"http:\/\/accesibilidad.upr.edu\/wp-content\/uploads\/sites\/132\/2023\/09\/Focus-General-02.png\" alt=\"Imagen de la pantalla de opciones del &quot;Theme&quot;. Hay 3 flechas enumeradas. Flecha n\u00famero 3 se\u00f1ala un &quot;tab&quot; llamado &quot;Custom CSS&quot;. Flecha 4 se\u00f1ala un espacio donde uno puede escribir codigo. Flecha 5 se\u00f1ala donde uno puede guardar las opciones.\" width=\"1403\" height=\"916\" srcset=\"https:\/\/accesibilidad.upr.edu\/wp-content\/uploads\/sites\/132\/2023\/09\/Focus-General-02.png 1403w, https:\/\/accesibilidad.upr.edu\/wp-content\/uploads\/sites\/132\/2023\/09\/Focus-General-02-300x196.png 300w, https:\/\/accesibilidad.upr.edu\/wp-content\/uploads\/sites\/132\/2023\/09\/Focus-General-02-1024x669.png 1024w, https:\/\/accesibilidad.upr.edu\/wp-content\/uploads\/sites\/132\/2023\/09\/Focus-General-02-768x501.png 768w, https:\/\/accesibilidad.upr.edu\/wp-content\/uploads\/sites\/132\/2023\/09\/Focus-General-02-18x12.png 18w\" sizes=\"auto, (max-width: 1403px) 100vw, 1403px\" \/><\/li>\n<li>En el espacio provisto, a\u00f1ada el siguiente c\u00f3digo\u00a0 (puede cambiar el color #f28c20 por el que m\u00e1s le convenga, seg\u00fan su p\u00e1gina): (flecha 4)\n<p>[code language=\u00bbcss\u00bb]a:focus{ border: 3px solid #f28c20; \u00a0display:inline-block; \u00a0}[\/code]<\/p>\n<\/li>\n<li>Al final, dele al bot\u00f3n \u00abSave Options\u00bb que se encuentra al final abajo para guardar los cambios (flecha 5)<\/li>\n<li>Vaya a su p\u00e1gina \u00abfrontend\u00bb en su navegador. Recomiendo que abra una nueva pantalla en modo \u00abincognito\u00bb, para que no aparezcan opciones de \u00abadministrador\u00bb (ese men\u00fa en de franja negra sobre su p\u00e1gina).\u00a0 Intente usar el \u00abTab\u00bb y observe si los elemento en focos son \u00abmarcados\u00bb.<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n\n\t\t<\/div>\n\t<\/div>\n<\/div><\/div><div class=\"vc_tta-panel\" id=\"foco-no-visible-blog-masonry-and-grid\" data-vc-content=\".vc_tta-panel-body\"><div class=\"vc_tta-panel-heading\"><h4 class=\"vc_tta-panel-title vc_tta-controls-icon-position-left\"><a href=\"#foco-no-visible-blog-masonry-and-grid\" data-vc-accordion data-vc-container=\".vc_tta-container\"><span class=\"vc_tta-title-text\">Foco no visible en los elementos de \"Blog Masonry and Grid\"<\/span><i class=\"vc_tta-controls-icon vc_tta-controls-icon-plus\"><\/i><\/a><\/h4><\/div><div class=\"vc_tta-panel-body\">\n\t<div class=\"wpb_text_column wpb_content_element \" >\n\t\t<div class=\"wpb_wrapper\">\n\t\t\t<h3><strong>Problema:<\/strong><\/h3>\n<p style=\"padding-left: 40px;\">El elemento \u00abBlog Masonry and Grid\u00bb despliega un listado de \u00abpost\u00bb (generalmente noticias) que consiste en una imagen, un t\u00edtulo, fecha autor (opcional), y un resumen de la noticia (opcional). Generalmente el usuario con el mouse puede seleccionar la noticia que desea leer y le da clic a la imagen o al t\u00edtutlo.\u00a0 Dado que ambos elementos tienen un enlace por separado, cuando usamos el teclado para navegar habr\u00e1 2 selecciones consecutivas que tendr\u00e1n foco:\u00a0 La foto, y luego el t\u00edtulo de la noticia.\u00a0 Este t\u00edtulo, si tiene m\u00e1s de una l\u00ednea, entonces el marco del foco puede verse mal. Tener dos focos para un mismo enlace, puede ser que no sea una falta, pero tom\u00e9 la decisi\u00f3n de simplificar el \u00abuser experience\u00bb poniendo un solo foco para cada enlace de noticia.<\/p>\n<p style=\"padding-left: 40px;\"><strong>Imagen del \u00abBlog Masonry and Grid\u00bb:<\/strong><br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-170 size-full\" src=\"http:\/\/accesibilidad.upr.edu\/wp-content\/uploads\/sites\/132\/2023\/09\/Focus-Blog-Masonry-01.png\" alt=\"Imagen es un ejemplo del elemento &quot;Blog Masonry and Grid&quot; dentro de WordPress. Hay 4 noticias, que est\u00e1n una al lado de la otra. Cada noticia tiene una foto en la parte superior y en la parte inferior est\u00e1 su t\u00edtulo.\" width=\"1273\" height=\"435\" srcset=\"https:\/\/accesibilidad.upr.edu\/wp-content\/uploads\/sites\/132\/2023\/09\/Focus-Blog-Masonry-01.png 1273w, https:\/\/accesibilidad.upr.edu\/wp-content\/uploads\/sites\/132\/2023\/09\/Focus-Blog-Masonry-01-300x103.png 300w, https:\/\/accesibilidad.upr.edu\/wp-content\/uploads\/sites\/132\/2023\/09\/Focus-Blog-Masonry-01-1024x350.png 1024w, https:\/\/accesibilidad.upr.edu\/wp-content\/uploads\/sites\/132\/2023\/09\/Focus-Blog-Masonry-01-768x262.png 768w, https:\/\/accesibilidad.upr.edu\/wp-content\/uploads\/sites\/132\/2023\/09\/Focus-Blog-Masonry-01-18x6.png 18w\" sizes=\"auto, (max-width: 1273px) 100vw, 1273px\" \/><\/p>\n<h3><strong>Soluci\u00f3n:<\/strong><\/h3>\n<p style=\"padding-left: 40px;\">En esta ocaci\u00f3n hay que usar una combinaci\u00f3n de JavaScript y CSS.\u00a0 \u00a0Javascript se utiliza para evitar que la imagen de la noticia obtenga el foco (simplificando la experiencia a un enlace por noticia).\u00a0 Mientra que el CSS se encarga de arreglar visualmente como luce el \u00abfoco\u00bb del elemento del titulo. En lugar de usar el elemento de enlace &lt;a&gt; que comprende el t\u00edtulo, vamos a enmarcar el elemento &lt;h3&gt; del t\u00edtulo para que cuando se active el foco al rededor del mismo, luzca mejor.<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: center;\"><strong>Procedimientos para usuarios de Theme The7<\/strong><\/p>\n<h3><strong>A\u00f1adiendo el Javascript para eliminar el foco de la imagen:<\/strong><\/h3>\n<div style=\"margin-left: 3rem;\">\n<ol>\n<li>Activar el plugin \u201cHeader and Footer Scripts\u201d \u2013 Este plugin garantiza que si pongo c\u00f3digo en \u201cFooter\u201d podr\u00e9 tener acceso a todos los elementos de la p\u00e1gina. (si uso \u201cHeader\u201d \u2013 el programa se ejecuta antes de que se gener la p\u00e1gina y no estar\u00e1n accesible los elementos).<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-145 size-full\" src=\"http:\/\/accesibilidad.upr.edu\/wp-content\/uploads\/sites\/132\/2023\/09\/mobil-menu-01.png\" alt=\"Imagen de la p\u00e1gina administrativa de WordPress dentro de &quot;Plugins&quot; se\u00f1alando exclusivamente el Plugin llamado &quot;Header and Footer Scripts&quot;\" width=\"1158\" height=\"84\" srcset=\"https:\/\/accesibilidad.upr.edu\/wp-content\/uploads\/sites\/132\/2023\/09\/mobil-menu-01.png 1158w, https:\/\/accesibilidad.upr.edu\/wp-content\/uploads\/sites\/132\/2023\/09\/mobil-menu-01-300x22.png 300w, https:\/\/accesibilidad.upr.edu\/wp-content\/uploads\/sites\/132\/2023\/09\/mobil-menu-01-1024x74.png 1024w, https:\/\/accesibilidad.upr.edu\/wp-content\/uploads\/sites\/132\/2023\/09\/mobil-menu-01-768x56.png 768w, https:\/\/accesibilidad.upr.edu\/wp-content\/uploads\/sites\/132\/2023\/09\/mobil-menu-01-18x1.png 18w\" sizes=\"auto, (max-width: 1158px) 100vw, 1158px\" \/><\/li>\n<li>Despu\u00e9s de activar este plugin hay que ir al men\u00fa de administraci\u00f3n (a la izquierda) de la siguiente forma:<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-146 size-full\" src=\"http:\/\/accesibilidad.upr.edu\/wp-content\/uploads\/sites\/132\/2023\/09\/mobil-menu-02.png\" alt=\"Muestra el men\u00fa administrativo de WordPress de la izquierda. Hay dos flechas. Flecha n\u00famero 1 se\u00f1ala la opci\u00f3n &quot;Settings&quot;. Flecha n\u00famero 2 se\u00f1ala a la aplicaci\u00f3n &quot;Header and Footer Scripts&quot;\" width=\"820\" height=\"630\" srcset=\"https:\/\/accesibilidad.upr.edu\/wp-content\/uploads\/sites\/132\/2023\/09\/mobil-menu-02.png 820w, https:\/\/accesibilidad.upr.edu\/wp-content\/uploads\/sites\/132\/2023\/09\/mobil-menu-02-300x230.png 300w, https:\/\/accesibilidad.upr.edu\/wp-content\/uploads\/sites\/132\/2023\/09\/mobil-menu-02-768x590.png 768w, https:\/\/accesibilidad.upr.edu\/wp-content\/uploads\/sites\/132\/2023\/09\/mobil-menu-02-16x12.png 16w\" sizes=\"auto, (max-width: 820px) 100vw, 820px\" \/><\/li>\n<li>En la pantalla que se nos presenta, buscamos la secci\u00f3n de \u201cScripts in footer\u201d. En el \u00e1rea provista, debemos escribir el c\u00f3difo. \u2013 Recuerden al grabar escribir \u201c&lt;script&gt;\u201d al comienzo y \u201c&lt;\/script&gt;\u201d al final. Si ya tienen c\u00f3digo en esta secci\u00f3n, hagan un espacio entre &lt;script&gt; y &lt;\/script&gt; para insertar el c\u00f3digo nuevo sin borrar el viejo.<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-147 size-full\" src=\"http:\/\/accesibilidad.upr.edu\/wp-content\/uploads\/sites\/132\/2023\/09\/mobil-menu-03.png\" alt=\"Imagen de la ventana de configuraci\u00f3n del Plugin &quot;Header and Footer Scripts&quot;. Dos flechas con el n\u00famero 3 y 4. Flecha con n\u00famero 3 Indica el \u00e1rea donde se escribe el c\u00f3digo en JavaScript. Flecha con n\u00famero 4 se\u00f1ala donde se graba los cambios.\" width=\"986\" height=\"1081\" srcset=\"https:\/\/accesibilidad.upr.edu\/wp-content\/uploads\/sites\/132\/2023\/09\/mobil-menu-03.png 986w, https:\/\/accesibilidad.upr.edu\/wp-content\/uploads\/sites\/132\/2023\/09\/mobil-menu-03-274x300.png 274w, https:\/\/accesibilidad.upr.edu\/wp-content\/uploads\/sites\/132\/2023\/09\/mobil-menu-03-934x1024.png 934w, https:\/\/accesibilidad.upr.edu\/wp-content\/uploads\/sites\/132\/2023\/09\/mobil-menu-03-768x842.png 768w, https:\/\/accesibilidad.upr.edu\/wp-content\/uploads\/sites\/132\/2023\/09\/mobil-menu-03-11x12.png 11w\" sizes=\"auto, (max-width: 986px) 100vw, 986px\" \/><\/li>\n<li>A continuaci\u00f3n el c\u00f3digo JavaScript que se debe insertar:<\/li>\n<\/ol>\n<p>[code language=\u00bbjavascript\u00bb]<br \/>\n\/\/Para la p\u00e1gina de Noticias y Eventos&#8230;<br \/>\nvar noticias = document.querySelectorAll(&#8216;a.rollover&#8217;);<br \/>\nif(noticias)<br \/>\n{<br \/>\n    \/\/Esto hace que las imagenes no sean accesibles (le elimino el foco)<br \/>\n    noticias.forEach((n)=&gt;{ n.setAttribute(&quot;aria-hidden&quot;, &quot;true&quot;);<br \/>\n                            n.setAttribute(&quot;aria-disabled&quot;, &quot;true&quot;);<br \/>\n                            n.setAttribute(&quot;tabindex&quot;, &quot;-1&quot;);});<br \/>\n}<\/p>\n<p>[\/code]<\/p>\n<\/div>\n<h3><strong>A\u00f1adiendo el CSS para arreglar el foco del t\u00edtulo:<\/strong><\/h3>\n<div style=\"margin-left: 3rem;\">\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>\n<li>En el \u00e1rea de administraci\u00f3n de su p\u00e1gina vaya al men\u00fa superior y busque \u00abTheme Options\u00bb \u2192 \u00abAdvanced\u00bb<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-161 size-full\" src=\"http:\/\/accesibilidad.upr.edu\/wp-content\/uploads\/sites\/132\/2023\/09\/Focus-General-01.png\" alt=\"Muestra el men\u00fa administrativo, las opciones dentro de &quot;Theme Options&quot;. Hay dos flechas. La flecha 1 se\u00f1ala la ubicaci\u00f3n de &quot;Theme Optiones&quot;. La flecha 2 se\u00f1ala la opci\u00f3n &quot;Advanced&quot;\" width=\"1380\" height=\"564\" srcset=\"https:\/\/accesibilidad.upr.edu\/wp-content\/uploads\/sites\/132\/2023\/09\/Focus-General-01.png 1380w, https:\/\/accesibilidad.upr.edu\/wp-content\/uploads\/sites\/132\/2023\/09\/Focus-General-01-300x123.png 300w, https:\/\/accesibilidad.upr.edu\/wp-content\/uploads\/sites\/132\/2023\/09\/Focus-General-01-1024x419.png 1024w, https:\/\/accesibilidad.upr.edu\/wp-content\/uploads\/sites\/132\/2023\/09\/Focus-General-01-768x314.png 768w, https:\/\/accesibilidad.upr.edu\/wp-content\/uploads\/sites\/132\/2023\/09\/Focus-General-01-18x7.png 18w\" sizes=\"auto, (max-width: 1380px) 100vw, 1380px\" \/><\/li>\n<li>Dele clic al \u00abTab\u00bb que dice \u00abCustom CSS\u00bb (flecha 3)<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-162 size-full\" src=\"http:\/\/accesibilidad.upr.edu\/wp-content\/uploads\/sites\/132\/2023\/09\/Focus-General-02.png\" alt=\"Imagen de la pantalla de opciones del &quot;Theme&quot;. Hay 3 flechas enumeradas. Flecha n\u00famero 3 se\u00f1ala un &quot;tab&quot; llamado &quot;Custom CSS&quot;. Flecha 4 se\u00f1ala un espacio donde uno puede escribir codigo. Flecha 5 se\u00f1ala donde uno puede guardar las opciones.\" width=\"1403\" height=\"916\" srcset=\"https:\/\/accesibilidad.upr.edu\/wp-content\/uploads\/sites\/132\/2023\/09\/Focus-General-02.png 1403w, https:\/\/accesibilidad.upr.edu\/wp-content\/uploads\/sites\/132\/2023\/09\/Focus-General-02-300x196.png 300w, https:\/\/accesibilidad.upr.edu\/wp-content\/uploads\/sites\/132\/2023\/09\/Focus-General-02-1024x669.png 1024w, https:\/\/accesibilidad.upr.edu\/wp-content\/uploads\/sites\/132\/2023\/09\/Focus-General-02-768x501.png 768w, https:\/\/accesibilidad.upr.edu\/wp-content\/uploads\/sites\/132\/2023\/09\/Focus-General-02-18x12.png 18w\" sizes=\"auto, (max-width: 1403px) 100vw, 1403px\" \/><\/li>\n<li>En el espacio provisto, a\u00f1ada el siguiente c\u00f3digo\u00a0 (puede cambiar el color #f28c20 por el que m\u00e1s le convenga, seg\u00fan su p\u00e1gina): (flecha 4)\n<p>[code language=\u00bbcss\u00bb]<br \/>\n\/* TITULOS DE NOTICIAS *\/<br \/>\nh3.entry-title:focus-within { border: 3px solid #f28c20;} \/* h3 con la clase &quot;entry-title&quot; tendr\u00e1 el marco del foco*\/<br \/>\nh3.entry-title:focus-within &gt; a{ \u00a0 \u00a0border: none;} \u00a0\/*Evita que el anchor &lt;a&gt; tenga marco a la misma vez que  h3   *\/<br \/>\n[\/code]<\/p>\n<p>&nbsp;<\/li>\n<li>Al final, dele al bot\u00f3n \u00abSave Options\u00bb que se encuentra al final abajo para guardar los cambios (flecha 5)<\/li>\n<li>Vaya a su p\u00e1gina \u00abfrontend\u00bb en su navegador. Recomiendo que abra una nueva pantalla en modo \u00abincognito\u00bb, para que no aparezcan opciones de \u00abadministrador\u00bb (ese men\u00fa en de franja negra sobre su p\u00e1gina).\u00a0 Intente usar el \u00abTab\u00bb y observe si los elemento en focos son \u00abmarcados\u00bb de forma correcta.<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<\/div>\n\n\t\t<\/div>\n\t<\/div>\n<\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><div class=\"vc_row wpb_row vc_row-fluid\"><div class=\"wpb_column vc_column_container vc_col-sm-12\"><div class=\"vc_column-inner\"><div class=\"wpb_wrapper\"><div class=\"vc_empty_space\"   style=\"height: 200px\"><span class=\"vc_empty_space_inner\"><\/span><\/div><\/div><\/div><\/div><\/div>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>Posibles Soluciones a Problemas de Accesibilidad Problema del \u00abmobile menu\u00bb (hamburger menu). Utilizado en el Theme \u00abThe7\u00bb Problema: El men\u00fa-m\u00f3vil es un dise\u00f1o creado para telefonos m\u00f3vil, y por consecuencia no tiene en consideraci\u00f3n el uso del teclado para moverse entre las opciones del men\u00fa. Si el usuario hace \u00abZoom\u00bb provocando que aparezca el \u00abmobil&hellip;<\/p>","protected":false},"author":237,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_themeisle_gutenberg_block_has_review":false,"footnotes":""},"class_list":["post-141","page","type-page","status-publish","hentry","description-off"],"_links":{"self":[{"href":"https:\/\/accesibilidad.upr.edu\/en\/wp-json\/wp\/v2\/pages\/141","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/accesibilidad.upr.edu\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/accesibilidad.upr.edu\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/accesibilidad.upr.edu\/en\/wp-json\/wp\/v2\/users\/237"}],"replies":[{"embeddable":true,"href":"https:\/\/accesibilidad.upr.edu\/en\/wp-json\/wp\/v2\/comments?post=141"}],"version-history":[{"count":31,"href":"https:\/\/accesibilidad.upr.edu\/en\/wp-json\/wp\/v2\/pages\/141\/revisions"}],"predecessor-version":[{"id":181,"href":"https:\/\/accesibilidad.upr.edu\/en\/wp-json\/wp\/v2\/pages\/141\/revisions\/181"}],"wp:attachment":[{"href":"https:\/\/accesibilidad.upr.edu\/en\/wp-json\/wp\/v2\/media?parent=141"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}