Hola @awesomerobot, soy colega de Cody y un ingeniero de accesibilidad. He revisado el repositorio para diagnosticar el problema. Como ya sabrás, el problema principal parece ser que (1) el contenido de las publicaciones ocultas no es visible para los lectores de pantalla y (2) las publicaciones solo se muestran cuando están dentro de la vista de un usuario según PostStreamViewportTracker.
Pensando en una posible solución, quiero optimizar dos cosas: (1) habilitar la navegación de cada publicación por encabezado con lectores de pantalla y (2) minimizar los cambios en el repositorio de Discourse y el impacto en el rendimiento.
El enfoque que recomiendo es mantener un wrapper ligero para cada publicación cargada que incluya el H2 semántico utilizado para la navegación por encabezados, mientras que el cuerpo pesado de la publicación permanece oculto. Esto mantiene los encabezados estables para la tecnología de asistencia sin inflar el DOM en toda la página. Cuando un usuario llega a cualquier H2 de una publicación a través de la navegación por encabezados, el lector de pantalla activará un desplazamiento de página que, a su vez, mostrará el cuerpo de la publicación en su lugar.
La viabilidad de esta solución depende de cuándo se cargue el siguiente bloque de publicaciones. Una mejora opcional es un encabezado centinela solo para lectores de pantalla “cargar más publicaciones” (similar a la “región de carga de más” propuesta en tu PR) ubicado en la parte inferior de la lista de publicaciones cargadas. Cuando este encabezado entra en vista o se selecciona del rotor de encabezados, carga el siguiente bloque y anuncia la finalización a través de un mensaje aria-live=polite.