Técnicas para as WCAG 2.0

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

-

SVR3: Utilizar o referenciador HTTP para garantir que a única forma de aceder a conteúdo que não esteja em conformidade é a partir de conteúdo em conformidade

Aplicabilidade

Conteúdo criado utilizando scripting do lado do servidor, em que uma versão em conformidade do conteúdo seja fornecida como uma alternativa para uma versão que não esteja em conformidade baseada no Referenciador HTTP.

Esta técnica está relacionada com:

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

Uma vez que alguns agentes de utilizador não suportam o cabeçalho referenciador HTTP, podem ser configurados para não enviarem nenhum, ou encontram-se protegidos por um proxy ou firewall que o remove, é possível que alguns utilizadores não consigam aceder ao conteúdo que não está em conformidade quando esta técnica for implementada.

Descrição

O objectivo desta técnica é garantir que os utilizadores podem obter uma versão acessível do conteúdo, na qual são fornecidas a versão em conformidade e a versão que não está em conformidade.

O Requisito de Conformidade 1 permite que as páginas que não estão em conformidade sejam incluídas no âmbito da conformidade, desde que disponham de uma "versão alternativa em conformidade". Nem sempre é possível para os autores incluírem links suportados por acessibilidade para conteúdo em conformidade a partir de conteúdo que não está em conformidade. Por conseguinte, os autores podem necessitar de se basear na utilização de tecnologias de Scripting do Lado do Servidor (ex. PHP, ASP, JSP) para garantir que a versão que não está em conformidade só possa ser obtida a partir de uma página em conformidade.

Esta técnica descreve como utilizar as informações fornecidas pelo HTTP referer para garantir que o conteúdo que não está em conformidade só possa ser obtido a partir de uma página em conformidade. O cabeçalho HTTP referer é definido pelo agente de utilizador e contém o URI da página (se existir) que remeteu o agente de utilizador para a página que não está em conformidade.

Para implementar esta técnica, um autor identifica o URI para a versão em conformidade do conteúdo, para cada página que não está em conformidade. Quando é recebido um pedido para a versão que não está em conformidade de uma página, o servidor compara o valor do cabeçalho HTTP referer com o URI da versão em conformidade para determinar se o link para a versão que não está em conformidade provém da versão em conformidade. A versão que não está em conformidade só é apresentada se o HTTP referer corresponder ao URI da versão que não está em conformidade. Caso contrário, o utilizador é redireccionado para a versão em conformidade do conteúdo. Tenha em atenção que, ao comparar o URI no cabeçalho referenciador HTTP, as variações não relevantes no URI, tais como na consulta e no destino, devem ser levadas em consideração.

Exemplos

Exemplo 1: Demonstrações interactivas de processos físicos

Um curso de física online utiliza uma linguagem de modelação registada para fornecer demonstrações interactivas de processos físicos. O agente de utilizador para a linguagem de modelação não é compatível com a tecnologia de apoio. O sítio da Web inclui um script que utiliza o referenciador HTTP para garantir que, a menos que os utilizadores tentem aceder à demonstração interactiva a partir de uma página que contenha uma descrição em conformidade do processo e dos modelos, o servidor redirecciona o pedido para uma página em conformidade que contém um link para a versão que não está em conformidade. Os alunos podem escolher aceder à versão interactiva que não está em conformidade, mas os que não o fizerem ainda podem obter informações sobre o processo.

Exemplo 2: Utilizar o referenciador Http em PHP

O exemplo seguinte ilustra como esta técnica pode ser utilizada em PHP. Inclui dois ficheiros, conforming.php e non-conforming.php, que funcionam em conjunto para garantir que a única forma de aceder ao conteúdo que não está em conformidade seja a partir do conteúdo em conformidade.

conforming.php:

Código Exemplo:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
        <head>
                <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
                <title>Conforming Content</title>
        </head>
        <body>
                <h1>This is a conforming page</h1>
                <p>From here, you can visit the <a href="non-conforming.php">non-conforming 
                page</a>. </p>
        </body>
</html>

non-conforming.php:

Código Exemplo:

<?php 
// if the request comes from a file that contains the string "conforming.php" then render the page
        if(stristr($_SERVER['HTTP_REFERER'], "conforming.php")) {
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
        <head>
                <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
                <title>Non-Conforming Content</title>
        </head>
        <body>
                <h1>This is a non-conforming page</h1>
                <p>Because you came from <?php echo $_SERVER['HTTP_REFERER']; ?>, you are 
                        able to view the content on this page. </p>
        </body>
</html>
<?php
}
// if the referring page is not conforming.php, then redirect the user to the conforming version
else  {
header("Location: conforming.php");
}
?>

Exemplo Prático

Testes

Procedimento

Quando forem fornecidas alternativas em conformidade com as WCAG para conteúdo que não esteja em conformidade:

  1. Identifique as páginas que não estão em conformidade com as WCAG no nível de conformidade exigido, em que as alternativas acessíveis são tratadas com base na utilização de ficheiros .htaccess.

  2. Visite o URI do conteúdo que não está em conformidade.

  3. Verifique se a página resultante é uma das seguintes:

    1. uma versão alternativa em conformidade para o conteúdo que não está em conformidade

    2. uma página que inclui um link para a versão alternativa em conformidade e para o conteúdo que não está em conformidade

Resultados Esperados