Técnicas para as WCAG 2.0

Ir para o conteúdo (Pressione a tecla Enter)

-

F58: Falha do Critério de Sucesso 2.2.1 devido àutilização de técnicas do lado do servidor para redireccionar páginas automaticamente após um tempo limite excedido

Aplicabilidade

Esta falha está relacionada com:

Notas de Apoio para o Agente de Utilizador e para a Tecnologia de Apoio

O cabeçalho Actualizar não está definido em HTTP/1.1 ou HTTP/1.0, mas é largamente suportado pelos browsers (testado no Firefox 1.0 e IE 6 no Windows).

Descrição

As linguagens de scripts do lado do servidor permitem aos programadores definir o cabeçalho HTTP não normal "Actualizar" com um tempo limite (em segundos) e um URI para o qual o browser é redireccionado após o tempo limite especificado. Se o intervalo de tempo for demasiado curto, as pessoas cegas não terão tempo suficiente para fazer com que os seus leitores de ecrã leiam a página antes de a página actualizar inesperadamente e o leitor de ecrã começar a ler do início. Os utilizadores sem problemas de visão também podem ficar confusos com a actualização inesperada.

O cabeçalho HTTP que é definido é Refresh: {time in seconds}; url={URI of new location}. Também é possível omitir o URI e obter uma página actualizada periodicamente, que origina o mesmo problema. O cabeçalho HTTP que é definido é Refresh: {time in seconds}.

Exemplos

Exemplo de Falha 1

O exemplo seguinte é uma falha, uma vez que foi implementado um redireccionamento temporizado do lado do servidor em Java Servlets ou JavaServer Pages (JSP).

Código Exemplo:

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>");
  }

Exemplo de Falha 2

O exemplo seguinte é uma falha, uma vez que foi implementado um redireccionamento temporizado do lado do servidor em Active Server Pages (ASP) com VBScript.

Código Exemplo:

                         <% @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--> 

Recursos

Os recursos são indicados apenas a título informativo, não implica que tenham sido aprovados.

Testes

Procedimento

  1. Quando uma página Web for apresentada, certifique-se de que redirecciona automaticamente para outra página após um determinado período de tempo sem qualquer acção por parte do utilizador.

Resultados Esperados