Unified search: screen reader hears "No matching results" on mobile even when there are results
Los mantenedores suelen responder en 1 día
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 78/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- javascript
- Área
- accessibility, frontend
Línea de trabajo
Empieza por UnifiedSearchModal.vue, donde el issue señala liveMessage y navigableRows como la causa probable del anuncio incorrecto en pantallas pequeñas. Compara el mensaje de estado con los resultados renderizados en anchos móviles y de escritorio, y luego revisa las pruebas relevantes del componente, si están disponibles. Se considera terminado cuando el mensaje de estado anuncia el número de resultados visibles a 375 px, igual que en anchos mayores.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
⚠️ This issue respects the following points: ⚠️
- This is not a troubleshooting question, general support matter, or webserver/proxy problem, but likely a bug (if unsure, ask the Community Help Forum).
- This issue is not already reported on Github OR solved at the Community Help Forum (I've searched!).
- I'm using a maintained major version of Nextcloud Server and tested against the latest patch level. (Supported major versions and current patch levels).
- I agree to follow Nextcloud's Code of Conduct.
- I've tried my best to provide clear reproduction steps that someone unfamiliar with this bug could use to reproduce it.
Bug description
On small screens the live region in the unified search modal says "No matching results" after the search finishes, even though results are shown. Screen reader users on a phone are told there's nothing, while the list is right there.
I think the cause is in UnifiedSearchModal.vue: liveMessage checks navigableRows.length === 0, but navigableRows always returns [] when isSmallMobile is true (no arrow key navigation on mobile). So on mobile the count is always 0.
Counting the rendered results instead of navigableRows would probably fix it.
Steps to reproduce
- Open Nextcloud 35 at a narrow width (I used 375 px)
- Open the unified search and search for something that has results
- Check the
role="status"element in the modal, or listen with a screen reader
Expected behavior
It announces the number of results, like it does on desktop ("3 results").
Nextcloud Server version
35
Operating system
Debian/Ubuntu
PHP engine version
PHP 8.3
Web server
Other
Database engine version
SQlite
Is this bug present after an update or on a fresh install?
Fresh Nextcloud Server install
Are you using the Nextcloud Server Encryption module?
Encryption is Disabled
What user-backends are you using?
- Default user-backend (database)
- LDAP/ Active Directory
- SSO - SAML
- Other
Configuration report
No response
List of activated Apps
No response
Nextcloud Signing status
No response
Nextcloud Logs
No response
Additional info
Actual behavior: it announces "No matching results".
Same search at 768 px and 1280 px: the status says "3 results". At 375 px it says "No matching results" with the same three results on screen. Same code on master.
- Lenguaje dominante
- PHP
- Estrellas
- 37.4k
- Forks
- 5.3k
- Merge medio
- 2 d 7 h
- PR fusionados (30 d)
- 709
Preparar el entorno
Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de nextcloud/server
-
34-feedback needs info
Dificultad 2/5 1-3 horas Aptitud para principiantes 77/100
nextcloud/server#66249 · 3 comentarios ·
Los mantenedores suelen responder en 1 día
-
[Bug]: DAV Forbidden/InvalidPath responses break on "&" in the message (DOMDocument::createElementNS(): unterminated entity reference)Posiblemente ocupada @th-joerger la tomó hace 5 días. Abierto0. Needs triage 35-feedback bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
Los mantenedores suelen responder en 1 día
-
[Bug]: Files folder-tree API eagerly lists the children of every subfolder at the last requested depth, then discards them (N extra directory listings per request)Posiblemente ocupada @lazerg la tomó hace 7 días. Abierto0. Needs triage 34-feedback bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 77/100
nextcloud/server#65904 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
[Bug]: Contradictory notifications when cancelling welcome email confirmationPosiblemente ocupada @Jashan32 la tomó hace 8 días. Abierto0. Needs triage 36-feedback bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 67/100
Los mantenedores suelen responder en 1 día
Todos los issues de nextcloud/server
Issues similares
-
IDS: enable Suricata 8 Hyperscan MPM cache (detect.sgh-mpm-caching) in suricata.yaml templateAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 69/100
opnsense/core#11171 · 1 reacción ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
getgrav/grav-plugin-form#664 ·
-
claude
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
sprain/sprainocchio#26 ·
-
sync-en
Dificultad 1/5 1-3 horas Aptitud para principiantes 84/100
Los mantenedores suelen responder en 1 día
-
sync-en
Dificultad 1/5 1-3 horas Aptitud para principiantes 82/100
Los mantenedores suelen responder en 1 día