Default error pages get the session's lang on English text

Abierto Apto para principiantes
#1,924 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
82/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
html, java

Línea de trabajo

Las cuatro páginas viven en el paquete markup.html pages (PageExpiredErrorPage, AccessDeniedPage, InternalErrorPage, ExceptionErrorPage) y todas extienden WebPage. Lee primero WebPage#onHtmlTag para confirmar que un lang de markup gana sobre el locale de la sesión y suprime dir; después añade lang="en" a la etiqueta <html> de cada página y sustituye el doctype HTML 4.01 Transitional por <!DOCTYPE html>. Hecho significa que cada página renderiza texto en inglés con lang="en" y sin dir incluso cuando el locale de la sesión es nl-NL o RTL; revisa las pruebas existentes de markup de páginas para ver cómo se comprueba la etiqueta renderizada.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Since #1870, every WebPage gets lang and dir on its <html> tag from the page locale. Wicket's default error pages extend WebPage, but their text is hard-coded English and they have no resource bundles:

  • PageExpiredErrorPage
  • AccessDeniedPage
  • InternalErrorPage
  • ExceptionErrorPage

A user whose session locale is nl-NL now gets <html lang="nl-NL" dir="ltr"> on a page that reads "Page Expired". Before #1870, lang was missing. Now it is wrong: screen readers read the English text with Dutch pronunciation, which fails WCAG 2.2 SC 3.1.1 (Language of Page, level A). A user with an RTL locale also gets dir="rtl" on English text.

The pages also still use the HTML 4.01 Transitional doctype.

Possible fix: put lang="en" on the <html> tag of these four pages. A markup lang takes precedence in WebPage#onHtmlTag and also suppresses dir. Replace the doctype with <!DOCTYPE html> at the same time. Translating the pages through resource bundles and dropping the markup lang would be the alternative, but contributed translations for them don't exist yet.

The accessibility chapter of the user guide (#1847) recommends replacing these pages with application pages and mentions this behaviour.

Lenguaje dominante
Java
Estrellas
800
Forks
423
Merge medio
1 d 1 h
PR fusionados (30 d)
170

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de apache/wicket

Todos los issues de apache/wicket

Issues similares

Más issues de Java

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.