No olvides que en las ciencias un error casi siempere puede tener más de una soluciones, pero nosotros aquí mostramos la mejor y más eficiente.
Solución:
HTML5 ARIA attribute es lo que buscas Se puede usar en su código incluso sin bootstrap.
Aplicaciones ricas de Internet accesibles (ARIA) define formas de hacer que el contenido web y las aplicaciones web (especialmente las desarrolladas con Ajax y JavaScript) sean más accesibles para las personas con discapacidades.
Para ser precisos para su pregunta, esto es lo que su attributes se llaman como ARIA attribute estados y modelo
aria-labelledby
: identifica el elemento (o elementos) que etiqueta el elemento actual.
aria-hidden (state)
: indica que el elemento y todos sus descendientes no son visibles ni perceptibles para ningún usuario tal como lo implementó el autor.
Los principales consumidores de estas propiedades son los agentes de usuario, como los lectores de pantalla para personas ciegas. Entonces, en el caso de un modal Bootstrap, el modal div
posee role="dialog"
. Cuando el lector de pantalla se da cuenta de que un div
se vuelve visible que tiene este rol, pronunciará la etiqueta para eso div
.
Hay muchas formas de etiquetar cosas (y algunas nuevas con ARIA), pero en algunos casos es apropiado usar un elemento existente como etiqueta (semántica) sin usar el etiqueta HTML. Con los modales HTML, la etiqueta suele ser un
encabezamiento. Entonces, en el caso modal de Bootstrap, agrega aria-labelledby=[IDofModalHeader]
y el lector de pantalla pronunciará ese encabezado cuando aparezca el modal.
En términos generales, un lector de pantalla notará cada vez que los elementos DOM se vuelvan visibles o invisibles, por lo que el aria-hidden
La propiedad suele ser redundante y probablemente se puede omitir en la mayoría de los casos.
aria-hidden="true"
ocultará elementos decorativos como íconos de glyphicon de los lectores de pantalla, que no tienen una pronunciación significativa para no causar confusiones. Es algo bueno hacerlo como una buena práctica.
Eres capaz de añadir valor a nuestro contenido informacional aportando tu experiencia en las reseñas.