Techniken für WCAG 2.0

Zum Inhalt

-

F58: Fehler bei Erfolgskriterium 2.2.1, weil server-seitige Techniken benutzt werden, um Seiten nach einer Zeitsperre automatisch weiterzuleiten

Anwendbarkeit

  • Jede server-seitige Scripting-Sprache

  • Inhalt erfüllt nicht die Erwartungen im Erfolgskriterium für erlaubte Zeitlimits.

Dieser Fehler bezieht sich auf:

Anmerkungen zur Unterstützung durch Benutzeragenten und assistierende Techniken

Der Refresh-header ist nicht in HTTP/1.1 oder HTTP/1.0 definiert, wird aber verbreitet von Browsern unterstützt (getestet in Firefox 1.0 und IE 6 unter Windows).

Beschreibung

Server-seitige Scripting-Sprachen ermöglichen es Entwicklern, den Nicht-Standard HTTP-header „Refresh“ mit einem Zeitlimit (in Sekunden) einzustellen und mit einem URI, zu dem der Browser nach dem festgelegten Zeitlimit umgeleitet wird. Wenn das Zeitintervall zu kurz ist, haben blinde Menschen nicht genügend Zeit, ihren Screenreader die Seite lesen zu lassen, bevor die Seite unerwartet aktualisiert wird und das führt dazu, dass der Screenreader oben mit dem Lesen beginnt. Sehende Benutzer können möglicherweise ebenfalls durch die unerwartete Aktualisierung orientierungslos werden.

Der HTTP-header, der festgelegt wird, lautet Refresh: {time in seconds}; url={URI of new location}. Es ist auch möglich, den URI wegzulassen und eine sich periodisch aktualisierende Seite zu erhalten, was zu den gleichen Problemen führt. Der HTTP-header, der festgelegt wird, lautet Refresh: {time in seconds}.

Beispiele

Fehler-Beispiel 1

Das folgende Beispiel ist ein Fehler, da eine zeitlich festgelegte server-seitige Umleitung in Java Servlets oder JavaServer Pages (JSP) implementiert wird.

Code-Beispiel:

				public void doGet (HttpServletRequest request, HttpServletResponse response)
      throws IOException, ServletException {
        response.setContentType("text/html");
	PrintWriter out = response.getWriter();
	response.setHeader("Refresh", "10; URL=TargetPage.html");
	out.println("<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\"
	 \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">");
	out.println("<html><head><title>Redirect</title></head><body>");
	out.println("<p>This page will redirect you in 10 seconds.</p>");
	out.println("</body></html>");
  }

Fehler-Beispiel 2

Das folgende Beispiel ist ein Fehler, da eine zeitlich festgelegte server-seitige Umleitung in Active Server Pages (ASP) mit VBScript implementiert wird.

Code-Beispiel:

				 <% @Language = "VBScript" %>
 <% option explicit 
 Response.Clear
 Response.AddHeader "Refresh", "5; URL=TargetPage.htm"
 %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
 …
 <!--HTML code for content that is shown before the redirect is triggered-->
 

Ressourcen

Ressourcen sind nur zu Informationszwecken und keine offizielle Empfehlung.

Tests

Vorgehensweise

  1. Wenn eine Webseite gerendert wird, prüfen Sie, ob diese einen nach einer bestimmten Zeit automatisch zu einer anderen Seite umleitet, ohne dass der Benutzer irgendeine Handlung durchführt.

Erwartete Ergebnisse