Solo enlazando a esta discusión sobre accesibilidad y Elegido de la Comunidad Drupal.
http://drupal.org/node/1271622#comment -4962028
Muchas mejoras agradables de usabilidad en Chosen.
pieza relevante de esa discusión:
Demasiado necesita trabajo. Parece que la accesibilidad no se ha considerado en
todo en este widget, por lo que se necesitaría mucho trabajo WAI-ARIA y JS para *
Intente * hacer que esto se ajuste a WCAG 2.0.El mayor problema, de una revisión de 30 segundos con FF6 / JAWS12 es que el
El componente se representa como un tipo de entrada = texto seguido de una lista desordenada
de todas las opciones (243 para los países) que el usuario necesita para navegar más allá de
incluso ignorar el campo.
El campo de texto de búsqueda podría usar una etiqueta, para empezar, pero eso es fácil de arreglar.
Un problema mayor es que los elementos de la lista generada no tienen anclajes ... ¿pueden los usuarios de lectores de pantalla tomar medidas si saben para qué sirven los elementos de la lista?
¡Este es un complemento muy bueno! Me gusta mucho la funcionalidad.
¿Habrá algún desarrollo futuro hacia una mejor accesibilidad? ¿Agregar WAI-ARIA para que se ajuste a WCAG 2.0 ???
Acabo de leer este artículo en el sitio web de thefilamentsgroups. Los roles de ARIA podrían prestarse a Chosen:
http://filamentgroup.com/lab/jquery_ipod_style_and_flyout_menus/
Por ejemplo: los resultados elegidos UL tendrían role = "menu" aria-activedescendant = "active-menuitem" aplicado a ellos y los resultados <li>
tendrían role = "menuitem".
¿El cuadro de búsqueda en el menú desplegable Elegido probablemente también necesitaría algún tipo de rol ARIA?
@dotdreaming señala la documentación correcta, pero los roles que menciona no son del todo correctos.
Creo que deberían usarse los siguientes roles:
Creo que sería genial si alguien realmente se sumergiera en la documentación WAI-ARIA y la aplicara a los elegidos.
Si puedo encontrar el tiempo, puedo hacerlo yo mismo. No parece que sea muy difícil de hacer.
¿Algún movimiento para que ARIA participe en este proyecto?
Incluso si funciona con tecnología de asistencia, también debe probarse para ver que también funciona con usuarios que solo utilizan teclado.
Por cierto, esta es solo una forma de comprobar las mejoras de accesibilidad que están al alcance de la mano, pero WAVE identificó algunas cosas bastante básicas que deberían limpiarse -> http://wave.webaim.org/report?url=http%3A% 2F% 2Fharvesthq.github.com% 2Felegido% 2F & js = 2
¿Se ha abordado alguno de estos problemas de accesibilidad? Realmente me gusta usar esto en nuestro sitio principal de la universidad, pero estos problemas de accesibilidad me desaniman
+1: hemos recibido comentarios de un usuario ciego de que las listas desplegables de Elegidos son difíciles de usar y tienen dificultades para seleccionar opciones. Están usando JAWS 14 como su lector de pantalla.
Probado solo con un teclado solo para la navegación. La selección de elementos funciona muy bien e intuitivamente (abajo para abrir la lista para un nuevo elemento, arriba / abajo para navegar por la lista, esc para cerrar la lista, ingresar para seleccionar). Eliminar elementos de la selección múltiple fue sencillo (retroceso), sin embargo, borrar un menú desplegable de selección única se presentó con más desafíos. Parece que, habiendo seleccionado un elemento, puedo presionar hacia abajo para abrir la lista nuevamente y luego navegar hacia arriba hasta que no se seleccione ninguna opción (muy parecido a un menú desplegable normal si su primer elemento está en blanco como los ejemplos), pero estoy incapaz de presionar Enter para seleccionar la opción nula. Algún método para anular la selección de una opción por completo (o al menos una opción predeterminada en blanco) sería muy útil.
Tampoco estoy seguro de si esto vale la pena, pero noté que los datos aún se almacenan en el control de selección oculto (supongo que así es como se pasan al formulario). También podría valer la pena actualizar el menú desplegable Elegido cuando se cambia la selección; estaba debatiendo si esto satisfaría el criterio 4.1.2 de WCAG, ya que los UA pueden interactuar con el control de selección de manera programática y podríamos tratar Elegido como una fachada en parte superior de la misma a los efectos de la accesibilidad.
para la segunda parte, estamos solicitando activar un listz:updated
incluso cuando cambie el valor del control de selección mediante programación para actualizar elegido.
Esto es necesario porque los navegadores no activan un evento cuando el valor se cambia programáticamente para que Chosen lo sepa (y si lo estuvieran haciendo, todavía tendríamos que evitar bucles infinitos ya que también lo estamos cambiando programáticamente)
Voy a considerar la posibilidad de agregar accesibilidad hoy. @marklagendijk Creo que lo que mencionaste es la mejor manera de ir a un
Esto puede ser útil, puede que no, pero tenemos pautas estrictas de accesibilidad a seguir y con la versión 1.0.0, el probador de accesibilidad de nuestro cliente regresó con los siguientes comentarios:
2. No hay un foco visible en el menú desplegable falso.
Estoy usando esto junto con el módulo Drupal Chosen. También tenemos un probador ciego que notó que una vez que llegó a la entrada no se dio cuenta de que podía escribir, ni los resultados devueltos, incluido "No se encontraron resultados".
@marklagendijk
Cualquier progreso en este tema. Estoy buscando reintroducir el problema para agregar Chosen al núcleo de Drupal y este es el bloqueador principal.
Encontré un muy buen ejemplo de cómo se puede hacer esto aquí:
http://cookiecrook.com/test/aria/multiselect/listbox.html
Aquí está el javascript: http://cookiecrook.com/test/aria/multiselect/js/aria.js
Creo que esto se asigna casi exactamente a la funcionalidad básica elegida. Parece bastante simple de implementar usando el cuadro de lista y las propiedades de aria multiseleccionables.
http://www.w3.org/TR/wai-aria/roles#listbox
http://www.w3.org/TR/wai-aria/states_and_properties#aria -multiselectable
Yo mismo haría un parche, pero no estoy tan caliente en js.
Mi PR vinculado anteriormente proporciona una solución a través de un enfoque mucho más simple centrado en los principios de mejora progresiva en lugar de hacer un "análisis profundo" para hacer un widget completamente accesible a partir de la base de código elegida actual. Doy la bienvenida a todos y cada uno de los comentarios.
¿Por qué concentrarse en ARIA cuando todavía no es compatible correctamente con IE8? Desafortunadamente, este navegador de 5 años todavía se encuentra en la lista de navegadores comunes. Esto significa que mientras se somete a un escaneo de accesibilidad, una implementación que depende de ARIA fallará.
¿Por qué no utilizar un método alternativo que simplemente deshabilita los elegidos por completo y proporciona al usuario la selección original? Esto podría lograrse agregando un enlace (oculto) que usaría un pequeño fragmento de código javascript que deshabilita el elegido.
Recurso sobre la compatibilidad con IE8 ARIA: http://www.w3.org/TR/WCAG20-TECHS/wai-aria_notes.html
Puede simplemente hacer detección de navegador / función y no usar Chosen cuando se usa IE8.
@ Daniel15 Eso probablemente sería incluso una solución más fácil. Gracias por compartir tus pensamientos. En mi publicación, solo estaba tratando de señalar que implementar ARIA (por ahora) no significa que sea accesible y esté listo para su uso en aplicaciones que deben ser compatibles con WCAG 2.0.
Me encantaría ver esto funcionando. Los lectores de pantalla y los usuarios que solo utilizan el teclado realmente necesitan acceder a estos campos. No estoy tan preocupado con IE8, pero al menos una solución para los navegadores modernos sería aceptable. Me gusta bastante la idea de respaldo de IE8. Parece que hay dos buenas relaciones públicas, me encantaría ver a cualquiera de ellos fusionarse.
un gran +1 en esto por favor
+1 (+) Necesitamos tener esto en Elegido. Es un problema
aria-label (propiedad)
Define un valor de cadena que etiqueta el elemento actual. Consulte también aria-labelledby.
El propósito de aria-label es el mismo que el de aria-labelledby. Proporciona al usuario un nombre reconocible del objeto. La asignación de API de accesibilidad más común para una etiqueta es la propiedad de nombre accesible.
Si el texto de la etiqueta está visible en la pantalla, los autores DEBEN usar aria-labelledby y NO DEBEN usar aria-label. Puede haber casos en los que el nombre de un elemento no se pueda determinar mediante programación a partir del contenido del elemento, y hay casos en los que proporcionar una etiqueta visible no es la experiencia de usuario deseada. La mayoría de los lenguajes de host proporcionan un atributo que podría usarse para nombrar el elemento (por ejemplo, el atributo de título en HTML [HTML]), pero esto puede presentar una información sobre herramientas del navegador. En los casos en que una etiqueta visible o información sobre herramientas visible no sea deseable, los autores PUEDEN establecer el nombre accesible del elemento usando aria-label. Los agentes de usuario dan prioridad a aria-labelledby sobre aria-label al calcular la propiedad del nombre accesible.
@Natshah ¿Puedes hacer una solicitud de extracción con el cambio?
@Natshah en realidad, ¿puedes revisar https://github.com/harvesthq/chosen/pull/2047 para ver si lo implementa de la manera correcta?
Hola,
Tengo esto arreglado para mi caso en este enlace
https://www.drupal.org/node/2384865
Gracias.
Gratificante :)
Si. Eso debería ser como algo como en el siguiente código. .
if (this.is_multiple) {
this.container.html('<ul class="chosen-choices"><li class="search-field"><input type="text" aria-label="' + this.form_field_jq.parents("label") +'" value="' + this.default_text + '" class="default" autocomplete="off" style="width:25px;" /></li></ul><div class="chosen-drop"><ul class="chosen-results"></ul></div>');
} else {
this.container.html('<a class="chosen-single chosen-default" tabindex="-1"><span>' + this.default_text + '</span><div><b></b></div></a><div class="chosen-drop"><div class="chosen-search"><input type="text" aria-label="' + this.form_field_jq.parents("label") +'" autocomplete="off" /></div><ul class="chosen-results"></ul></div>');
}
Pero podemos usar este código:
$(".views-exposed-widget").each(function( index, element ) {
$(this).find('.form-type-select .chosen-container input').attr("aria-label" ,$.trim($(this).find('label').text()));
});
Gracias.
Gratificante :)
¿Algún avance en esto? Recientemente implementamos elegido y obtuvimos comentarios de los usuarios que usan tecnología de asistencia "Jaws" de que no pueden usar los campos seleccionados en absoluto.
Parece un tema importante a considerar. ¿Ha habido algún movimiento en este frente?
Nada que yo sepa, desafortunadamente es muy difícil replicar los problemas dadas las combinaciones masivas de tecnologías de asistencia con navegadores y sistemas operativos ... Normalmente, siempre que pueda navegar por el teclado + tenga la implementación correcta de ARIA, debería funcionar en la mayoría de los casos.
Para una solución rápida, he recurrido a asegurarme de que los lectores de pantalla al menos puedan usar el campo de selección original. Para esto, en lugar de ocultar el elemento de selección, estoy agregando una clase screenreaders-only
y aria-hidden:true
en el contenedor elegido generado.
Entonces, en chosen.jquery.js
líneas 599 to 605
ven así:
container_props = {
'class': container_classes.join(' '),
'style': "width: " + (this.container_width()) + ";",
'title': this.form_field.title,
// hide widget for screen-readers
'aria-hidden': 'true'
};
Y la línea 616
ve así:
// instead of hiding the original select field, adding the .sr-only class to keep it accessible for screen readers
this.form_field_jq.addClass('sr-only').after(this.container);
No es una solución perfecta, ya que tanto la selección oculta como el widget se pueden enfocar con el teclado, pero es mucho mejor que tener un widget inaccesible.
Esto funcionó para mí.
Seguí todos los consejos anteriores y cambié la siguiente línea:
this.container.bind('mousedown.chosen', function(evt) // around line 630
a:
this.container.bind('mousedown.chosen keydown.chosen', function(evt)
Gracias
Pruébelo si funciona. La estructura debería ser así. :)
Intenté agregar algunos elementos ARIA basados en el trabajo que había hecho
Tengo una rama disponible aquí que hace lo siguiente:
Etiquetas ARIA y otros atributos útiles
Estado de gestión
close_field
y activate_field
.Voy a comenzar a usar esta versión en varios de nuestros proyectos y seguiré actualizando mi rama con cambios a medida que obtengamos una visión más detallada de nuestros proyectos desde una vista A11Y.
Gracias a todos los que leyeron hasta aquí, sé que es mucho y, por favor, si tiene comentarios, ¡hágamelo saber! Quiero llevar esto tan lejos como sea posible.
@cooperfellows , abra una solicitud de extracción con sus cambios
@stof Hecho, pero como dije, no soy un experto en A11Y y planeo hacer más pruebas. Solo quería compartir mi primer pase estable en esto.
¿Hay alguna actualización "oficial" con esto? ¿Se han realizado cambios basados en los esfuerzos de @cooperfellows ?
La razón por la que pregunto es que estamos obteniendo un número cada vez mayor de usuarios de Jaws que informan que el widget es inutilizable, lo que hace que el formulario que buscan sea inutilizable.
Podemos replicar, así que feliz de ayudar / compartir ejemplos si eso ayuda.
Se realizó la solicitud de extracción (tenía algunos problemas menores que se resolvieron después del hecho) pero aún no ha sucedido nada. La rama que estoy usando en producción en este momento está aquí:
Sin embargo, me encantaría recibir más comentarios. No tengo Jaws, por lo que confío en auditorías de varias herramientas en línea.
Entonces, ¿esa rama es básicamente la producción actual más sus cambios, o una versión anterior con cambios recientes que aún no se han fusionado?
(Gracias por cierto)
Sí, es cierto @wcndave. Aunque al RP le vendrían bien otros ojos para hacer una revisión.
@cooperfellows Me complace ayudar con las pruebas de accesibilidad, ya que necesito
¿Alguna actualización sobre su solicitud de extracción?
Pregunta tonta: ¿tiene una versión compilada de JavaScript que pueda descargar?
¿O necesito instalar coffeescript y compilarme?
@KITSKevinBonett ¡ Gracias por la ayuda!
Se adjunta un zip de la versión de tipo jquery y proto, tanto comprimido como sin comprimir.
@cooperfellows Eso fue rápido. Lo agregaré a nuestro proyecto, haré algunas pruebas y les haré saber ...
@KITSKevinBonett Ya, estoy buscando tener más ojos en él, ya que no soy un experto en A11Y. Por lo tanto, se agradece cualquier comentario (duro y positivo).
Hola @cooperfellows . He revisado tu implementación. Muy bien.
Hay algunos problemas que pueden no resolverse (fácilmente) debido a incompatibilidades entre el lector de pantalla y el navegador.
He documentado mis hallazgos en el adjunto. He hecho 1 o 2 recomendaciones menores que espero sean de utilidad.
_ACTUALIZAR_
Hola @cooperfellows , ¿tenía sentido mi auditoría?
Hola @KITSKevinBonett He estado fuera durante una semana de vacaciones. Le echaré un vistazo a esto tan pronto como me ponga al día con mi otro trabajo. Gracias por los comentarios, estoy seguro de que son útiles.
@KITSKevinBonett Gracias por la auditoría, esto parece bastante completo. He desglosado mis pensamientos en función de las secciones de la auditoría que usted presentó.
Marcado HTML generado por el complemento
Comportamiento solo del teclado
<em>
, que se pone en cursiva (al menos en Chrome).<em>
para indicar coincidencias de texto, por lo que me preocuparía que pudieran entrar en conflicto entre sí.Lectores de pantalla
Pensamientos Aria
@cooperfellows - respuestas a sus preguntas:
Marcado HTML
Comportamiento del teclado
CSS deshabilitado
Lectores de pantalla
ARIA
Espero que todo esto ayude con su solicitud de extracción. Ha hecho un gran trabajo con el A11Y. :)
Hola,
Soy ciego. He probado el trabajo de @cooperfellows con JAWS. Funciona perfectamente. La opción seleccionada se dice como una flecha a través de las opciones.
¿Alguna noticia sobre la fusión de esto en master?
En mi trabajo diario, utilizo MISP (Malware Information Sharing Platform - https://github.com/MISP/MISP), cuyos desarrolladores han decidido recientemente utilizar "elegido" para los cuadros combinados de autocompletar. Se ha convertido en una pesadilla para mí.
Gracias de antemano por su ayuda.
Después de algunas pruebas, puedo confirmar que la versión compilada (archivo .zip) publicada arriba (el 1 de julio de 2016) funciona.
Sin embargo, cuando pruebo la rama de @cooperfellows y luego la fusiono con harvesthq / master, las opciones del menú las habla correctamente JAWS pero la tecla ENTRAR no envía el formulario.
Hola @ obert01 ,
Esta rama está muy desactualizada con respecto a la rama cosechahq / master actual, es probable que deba revisar los cambios y ajustar mi PR para que todo vuelva a funcionar.
Intentaré llegar a esto en algún momento antes de fin de mes, estoy bastante atrasado en el trabajo en este momento.
Me encantaría que uno de los colaboradores lo vea nuevamente una vez que se actualice, así que haré ping a
Muchas gracias.
Para su información, puedo probar con todas las combinaciones de lectores de pantalla JAWS y NVDA, con el siguiente navegador: Internet Explorer 11, Google Chrome, Firefox ESR, Firefox Standard, Microsoft Edge.
¿Algún progreso en esto?
Lamento insistir, pero mi trabajo diario adolece de esta falta de accesibilidad.
Además, agregar soporte de accesibilidad permitiría que Chosen se use en los sitios web del sector público / de la administración, ya que la regulación en cada vez más países va de esta manera.
Gracias
Hola,
Tenemos una aplicación que se ha utilizado y ahora necesitamos admitir la accesibilidad, pero al pasar por esto, lo que puedo ver es que aún no se ha fusionado. Será realmente útil si @cooperfellows puede finalizar esto y fusionarse, por favor.
Hola @ obert01 y @csmuthukuda ,
Acabo de hacer actualizaciones para que mi RP esté al día con la última versión de Chosen, por favor, eche un vistazo aquí:
https://github.com/harvesthq/chosen/pull/2596
Puede obtener una copia de mi repositorio bifurcado y probarlo por su cuenta. Me encantaría recibir comentarios de la vida real.
Pasó todas las comprobaciones de TravisCI, pero no creo que cubran ningún problema de A11Y. Déjame saber lo que piensas.
Hola @cooperfellows ,
Muchas gracias por su dedicación para mantener esto vivo. Lo probaré y te haré saber los comentarios al respecto. Realmente espero que los propietarios consideren fusionar esto con el maestro. Este es un requisito obligatorio ahora.
Gracias @csmuthukuda, me encantaría que se fusionara ...
@pfiller @stof @tjschuck @koenpunt , ¿hay algo que pueda hacer para ayudar a que se
Hola @cooperfellows ,
He probado su increíble trabajo con la mayoría de los navegadores web actuales y los lectores de pantalla JAWS y NVDA. Gracias !
Navegar por las opciones con el teclado funciona bien: la respuesta de voz y braille es perfecta, lo que significa que todos los atributos de ARIA están bien definidos. Sin embargo, cuando presiono ENTER para elegir una opción, no sucede nada. No tengo suficiente experiencia con JavaScript para determinar si el problema proviene de Chosen o si está presente en la aplicación que lo usa.
Para reproducir, intente elegir una opción en un cuadro combinado Elegido solo usando el teclado: TAB para enfocar el cuadro combinado, teclas de flecha para navegar por la lista, ENTER para seleccionar.
Una vez más, muchas gracias.
Gracias por esa información @ obert01. Echaré un vistazo y veré qué puedo encontrar.
@ obert01 ¿Puedes intentar usar este violín JS para confirmar que está funcionando o no? Este violín está cargando la versión jQuery compilada de mi última confirmación.
Puedo navegar por ese menú desplegable con mi teclado (Chrome Latest), pero NO estoy ejecutando un lector de pantalla.
Déjame saber lo que piensas.
Hola @cooperfellows ,
No hay problema con su JS Fiddle. Por lo tanto, supongo que el problema se debe a la forma en que se usa Chosen en MISP (https://www.misp-project.org/).
Verificaré esto con el equipo del proyecto MISP.
Gracias
Gracias @ obert01. Por favor déjeme saber lo que averigüe. Podría apuntar a una incompatibilidad con una configuración específica de Chosen, por lo que si hay una forma de ver cómo lo utiliza MISP, puedo intentar echar un vistazo a su implementación.
¿Se usa el elegido en algún lugar públicamente?
@cooperfellows, ¿ podría darme una nueva compilación con los últimos cambios? No sé cómo construirla.
@ obert01 @cooperfellows Acabo de probar Fiddle con NVDA, parece que la navegación del teclado funciona perfectamente (incluida la selección con la tecla ENTER). Sin embargo, cuando navego con las teclas de flecha hacia arriba y hacia abajo, el lector de pantalla dice "________no seleccionado", es decir, "Bermudas no seleccionado". ¿Es este el comportamiento esperado?
Tengo el mismo problema que @woenlee. No es tan dañino. Pero tal vez, la forma en que se establece el atributo "seleccionado" en el elemento seleccionado debe comprobarse.
¿Cuál es el comportamiento esperado cuando "ingresa" y "sale" de un elemento de la lista? Cuándo
navega hacia abajo a un nuevo elemento, en caso de que lea en voz alta el recién seleccionado
¿ít? ¿También anuncia lo que ya NO está seleccionado? @ obert01 @woenlee
El domingo, 25 de agosto de 2019 a las 12:18 p. M. Olivier BERT [email protected]
escribió:
Tengo el mismo problema que @woenlee https://github.com/woenlee . No lo es
tan dañino. Pero tal vez, la forma en que se establece el atributo "seleccionado" en el
se debe marcar el elemento seleccionado.-
Recibes esto porque te mencionaron.
Responda a este correo electrónico directamente, véalo en GitHub
https://github.com/harvesthq/chosen/issues/264?email_source=notifications&email_token=ABT3ZTIESGLX6IYW4BF2QCLQGKWDVA5CNFSM4AATGGB2YY3PNVWWK3TUL52HS4DFVREXG43VMDVBW63WL2 ,
o silenciar el hilo
https://github.com/notifications/unsubscribe-auth/ABT3ZTMH2KUYYE7HNO2UGH3QGKWDVANCNFSM4AATGGBQ
.
-
~ Cooper
@cooperfellows Después de ejecutar algunas pruebas de accesibilidad de ax, parece que encontré un error en su PR, lo que explica por qué estaba haciendo eso. En la línea 342 de Abstract-chosen.coffee, la entrada tiene 2 roles asignados, "cuadro combinado" y "cuadro de lista".
<input class="chosen-search-input" type="text" autocomplete="off" aria-expanded="false" aria-haspopup="true" role="combobox" aria-autocomplete="list" autocomplete="off" role="listbox" />
</div>
<ul class="chosen-results"></ul>
Después de dar el
Pagar a los clientes de Harvest aquí y probar para que sea accesible internamente se encontró con esto. La accesibilidad es imprescindible, y dejaremos Harvest si esto no se soluciona, si un mantenedor de Harvest no muestra al menos algo de apoyo pronto.
@ obert01 ¿Puedes intentar usar este violín JS para confirmar que está funcionando o no? Este violín está cargando la versión jQuery compilada de mi última confirmación.
Puedo navegar por ese menú desplegable con mi teclado (Chrome Latest), pero NO estoy ejecutando un lector de pantalla.
Déjame saber lo que piensas.
@cooperfellows
Estaba probando este JS Fiddle con JAWS 2019 y experimenté algo ligeramente diferente al navegar por las opciones con las teclas de flecha hacia arriba y hacia abajo.
En Google Chrome 71.0.3578.98:
JAWS no leería el valor resaltado actual a menos que la lista hiciera algún desplazamiento / representación. es decir, si la lista se muestra
<option selected="selected" value="United States">United States</option>
<option value="Afghanistan">Afghanistan</option>
<option value="Albania">Albania</option>
<option value="Algeria">Algeria</option>
<option value="American Samoa">American Samoa</option>
<option value="Andorra">Andorra</option>
<option value="Angola">Angola</option>
<option value="Anguilla">Anguilla</option>
<option value="Antarctica">Antarctica</option>
9 opciones, JAWS no lee la opción resaltada al presionar hacia abajo hasta que llegue a la décima opción en . El cuadro hace un pequeño desplazamiento automático para resaltar Antigua y Barbuda y luego lee la opción.
En IE 11.0.9600.19463: Navegar con las teclas de flecha parece leer la opción resaltada actual correctamente subiendo y bajando. No requiere ningún tipo de renderizado.
Me gustaría saber si alguien más ha experimentado esto. @ obert01 @woenlee
Hola y gracias por tu trabajo.
Desafortunadamente, esto no funciona correctamente. Es extremadamente difícil de describir, ya que el comportamiento cambia en función del navegador o lector de pantalla utilizado.
Creo que algunas propiedades de aria no están presentes o no están actualizadas. Aquí los problemas generales que encuentro:
Buenos puntos:
Lamentablemente, no sé muchas cosas sobre ARIA, JavaScript y la web en general. Le sugiero que se asegure de que el máximo de propiedades ARIA esté configurado y actualizado correctamente.
A continuación, encontrará la demostración y el código de un complemento de JQuery que interactúa perfectamente con los lectores de pantalla:
https://a11y.nicolas-hoffmann.net/autocomplete-list/
Lamento no poder ayudar más.
No dudes en publicar nuevas demostraciones de tu trabajo. Estoy feliz de probarlo por ti.
Comentario más útil
Pagar a los clientes de Harvest aquí y probar para que sea accesible internamente se encontró con esto. La accesibilidad es imprescindible, y dejaremos Harvest si esto no se soluciona, si un mantenedor de Harvest no muestra al menos algo de apoyo pronto.