Lo intentaré más tarde, sin embargo, esta no es la solución ya que no estás realizando los pasos que haría un lector de pantalla real. Dado que me muevo a una publicación específica, se puede suponer que quiero leer esa publicación. Tab no es un comando de lectura, sino una forma de mover el foco al siguiente elemento que puede obtener el foco. Un comando de lectura sería usar las teclas de flecha hacia abajo o el comando SayAll específico para el lector de pantalla. Al menos la flecha hacia abajo, que es mi comando de lectura preferido, falla, el foco no está donde está visualmente, sino generalmente antes de la lista de publicaciones.
Por supuesto, tab podría ser la forma sucia de resolver este error, pero no la solución del error en sí.
Gracias @thoeg@nolan, muy apreciado. Creo que veo cuál es el problema. Actualmente estamos usando un elemento span vacío para establecer el foco en la publicación. Este elemento tiene aria-hidden=true y tabindex=-1, y creo que eso hace que el elemento sea invisible para los lectores de pantalla.
Creo que lo mejor sería cambiar el foco al primer elemento enfocable de la publicación. En la mayoría de los casos, ese será el enlace del nombre de usuario, es decir, el autor de la publicación.
Tiene sentido. Ariahidden debería ocultar el elemento y -1 evitaría que obtuviera el foco. Si este elemento obtuviera el foco en el encabezado del tema, estaría bien. Sería interesante ver qué sucede si simplemente estableces tabindex=0,
Sí, te oigo @anni_anni, lo solucionaremos. Intenté un primer intento la semana pasada, pero tuve que revertirlo porque tuvo algunos efectos secundarios no deseados. Intentaré un enfoque diferente muy pronto.
Ok, por fin, se ha fusionado otro intento de solución para esto. La implementación actual consiste en enfocar el primer elemento enfocable de una publicación, que, en la mayoría de los casos, será el nombre de usuario del autor de la publicación. Al navegar a una publicación y presionar Tab, debería verse así en Chrome:
Todavía veo el comportamiento incorrecto anterior en Meta y community.fly.io con Chrome, pero puedo confirmar que la corrección funciona en nuestro sitio discourse.team. ¿Se están ejecutando diferentes versiones de Discourse? Estoy usando la misma versión de Chrome con el mismo perfil.
Hmm, los tres sitios pueden estar en versiones ligeramente diferentes de Discourse, pero creo que todos tienen el cambio enlazado arriba. Meta, específicamente, siempre está al día con los últimos cambios en nuestra rama tests-passed, así que me preocupa un poco que esto no funcione aquí…
OK, tengo un poco más de información para ti sobre esto, observado en nuestro sitio discourse.team donde reporté que esto funcionaba.
Si hago clic en una publicación completamente nueva que nunca he leído, no recibo ninguna retroalimentación hablada, y el foco parece aterrizar aleatoriamente en lo que supongo que sería la primera página de publicaciones.
Si hago clic en un tema visitado previamente, el foco aterriza correctamente y sí recibo retroalimentación hablada.
Este comportamiento parece ser consistente entre Firefox y Chrome ahora. Creo que antes Firefox colocaba correctamente el foco en la primera publicación al ver un hilo nuevo. Sería bueno tener ese comportamiento de vuelta si es posible para que las experiencias de primera lectura y de regreso se comporten de la misma manera. Me alegra que al menos restaure mi última posición de lectura en Chrome ahora, ya que eso es necesario para el trabajo.
Es salvaje que estos comportamientos fueran tan diferentes entre Firefox y Chrome.
¡Me alegra oír eso! De hecho, limité los cambios aquí a la navegación a publicaciones que no son la primera publicación de un tema. Para los usuarios recurrentes, a menudo se tratará de navegar a temas que ya has leído pero que ahora tienen nuevas respuestas.
Esto es bueno saberlo, creo que tenemos un camino para iterar y solucionar esto. Si puedes compartir el orden exacto de los comandos que utilizas, también ayudaría.
En mi navegador Chrome habitual, si voy a un tema nuevo que no he leído y presiono Tab, el foco aterriza en el título del tema, lo que me parece razonable, pero probablemente no sea suficiente para tu caso de uso.
¡Gracias de nuevo por tus continuos comentarios, muy apreciados!
Esto es extraño con Jaws y Chrome y, al probar un nuevo tema en meta, vi un nuevo comportamiento de Jaws. Después de presionar Enter en el título del tema, obtengo la información habitual sobre la página que se acaba de cargar, el comportamiento estándar de Jaws. Lo mismo ocurrirá cuando vuelva a la lista de temas y presione Enter en el mismo tema, el foco se colocará en la última publicación leída. Esto parece haber resuelto al menos 2 problemas aquí. No he probado la opción “ir a la última publicación” en la lista de temas, pero supongo que funcionará.
Sin embargo, por supuesto, no todo es bueno, pero esto puede no estar relacionado en absoluto. Cuando uso el botón Atrás para volver a la lista de temas, se pierde el foco, no se me coloca de nuevo en el tema que abrí y estaba leyendo. Esto podría ser un error de Jaws/Chrome, hemos visto algo similar antes, pero también podría ser de su lado. Tendré que comprobarlo con NVDA.
Acabo de intentarlo con nvda y chrome y aquí nada funciona, es decir, ya no puedo simplemente presionar enter en ninguno de los títulos de los temas en la tabla. Estoy seguro de que esto solía funcionar. Por supuesto, como soy un usuario de jaws, esto no me molestará, pero para los usuarios de nvda es otra historia.
Dado que nvdadid no funcionó realmente, no puedo probar el problema con el enfoque al regresar de un tema a la lista de temas.
Sin embargo, JAWS es confiable aquí, el enfoque se coloca en la parte superior de la página.
En la versión más reciente de Chrome en nuestro sitio discourse.team, al hacer clic en un tema visitado anteriormente, vuelvo al punto donde dejé de leer, y NVDA anuncia correctamente el encabezado de la publicación en foco.
Desafortunadamente, al hacer clic en un tema nuevo, el foco no se coloca en la primera publicación del tema. De manera similar, usar “h” para intentar colocar el foco en la primera publicación falla. Tengo que encontrarla manualmente para empezar a leer.
Tenga en cuenta que la posición parece estar correctamente establecida en las nuevas publicaciones en Firefox. Parece que es solo Chrome por alguna razón.
Con todo, me alegro de que la posición se restaure en hilos anteriores, ya que ese es el mayor punto de dolor para mí. Sin embargo, espero que obtengamos un comportamiento correcto y consistente en ambos casos de uso.
Esto también es correcto. La implementación actual omite específicamente el establecimiento del foco si la publicación de destino es la primera. Intenté agregar lo mismo a la primera publicación, pero a menudo resultaba en un desplazamiento innecesario al cargar una URL de tema y eso era demasiado disruptivo para todos los usuarios.
Esto debería funcionar. Haré algunas pruebas y veré si podemos solucionar esto.
Quería señalar otro detalle menor que me ha estado molestando durante un tiempo.
Al publicar un nuevo tema, el menú desplegable para agregar etiquetas/categorías es un poco extraño. Primero, la etiqueta para mí es “Filtrar por”. No sé si se muestra visualmente o no, pero me llevó años publicar en Discourse antes de darme cuenta de que así es como se agregaban las etiquetas. El uso de “Filtrar” para mí implica algo como “filtrar algo fuera del agua”, no agregar algo nuevo. Si eso se muestra visualmente, haz lo que quieras con esa información, pero si solo es para ARIA, podría beneficiarse de algún ajuste.
A continuación, al hacer clic en la lista de etiquetas, me aparecen lo que parecen ser botones de radio. Si presiono Espacio en ellos (es decir, según el patrón de grupo de radio ARIA), esto parece activar una búsqueda. Sí, puedo presionar Enter aquí en su lugar, pero estoy acostumbrado a presionar Espacio para activar interacciones de botones porque mis pulgares están justo ahí.
Ciertamente no es un bloqueo, pero es definitivamente más difícil de descubrir, y tengo que pensar más en recordar/re-descubrir cómo funciona cada vez que publico. Históricamente, he hecho clic en categorías individuales, pero eso ha limitado mi capacidad para usar varias etiquetas.
Creo que un mejor ajuste para esta interacción podría ser el patrón combobox ARIA. Específicamente, el combobox editable se comporta de una manera mucho menos confusa. Si escribo “A”, puedo bajar con las flechas hasta “Alabama”. No se presenta como un botón de radio, por lo que mi respuesta automática no es presionar Espacio allí, pero si lo hago, inserta el espacio como se espera. Podría ser que todo lo que se necesite sea eliminar la presentación de botón de radio, pero probablemente también podría ser un poco menos detallado sobre los recuentos de resultados.
Si escribo un emoji en el cuadro de edición de publicaciones (por ejemplo, :)) y el foco se posa en ese emoji mientras edito, no puedo usar las teclas de flecha arriba/abajo para ir a la línea anterior o siguiente. Tengo que moverme con las flechas a la izquierda/derecha para salir del emoji primero.
¿Supongo que esto se debe al comportamiento de autocompletado? Me pregunto si este comportamiento podría deshabilitarse en casos donde solo hay una coincidencia, o a menos que se presione Enter u otra tecla. Entendería el comportamiento de autocompletado para la entrada inicial y las ediciones, pero definitivamente ha sido complicado depurar por qué no puedo mover el foco en algunas instancias y parece ser la razón. Una especie de menú desplegable activado manualmente para las ediciones parece ser la opción correcta aquí.