Tutorial Acessibilidade na Web Construindo Formulários e Tabelas acessíveis

Documentos relacionados
Acessibilidade na web

Introdução à Tecnologia Web

Acessibilidade na web O caminho das pedras para construir sítios acessíveis. SECOP de setembro de 2011 Reinaldo Ferraz W3C.

DICAS PARA DESENVOLVER SITE ACESSÍVEL

Mini-curso de PHP. Aulas ministradas por: André Luis de Paula Arthur Kalsing Diego Silva

Programação para Internet I

Lista e Tabelas. Fundamentos da Linguagem Web

SIEP / RENAPI. Dicas HTML e CSS para Desenvolvimento. de um Site/Portal Acessível

Dessa forma, o uso de elementos HTML que estruturem de forma clara a tabela auxiliam a sua leitura por pessoas que se utilizam leitores de tela.

PROGRAMAÇÃO WEB DO LADO DO CLIENTE

Introdução. HyperText Markup Language HTML. Formulário. Fluxo do Formulário. Fluxo do Formulário. Fluxo do Formulário. Fluxo do Formulário

FORMULÁRIOS ACESSÍVEIS

HTML: Listas, Tabelas e Formulários CST Sistemas para Internet

4. Características Gerais das Tabelas do HTML

Aula 05 HTML FORMULÁRIOS Prof. Daniela Pires Sumário

Recursos Complementares (Tabelas e Formulários)

TECNOLOGIAS WEB AULA 7

COMO FUNCIONA UM FORMULÁRIO

Os componentes de um formulário são: Form, Input, Select e AreaText

0,5 pelo negrito das palavras ID, Nome, e Analisar em outro momento.

WCAG 2.0: a nova versão de padrões web de acessibilidade

SIMULADOS & TUTORIAIS

O código acima descreve o formulário com uma caixa de texto e dois botões

TECNOLOGIAS WEB. Unidade 2 Introdução a Construção de Páginas Estáticas. Luiz Leão luizleao@gmail.com

DWEB. Design para Web. HTML5 - Marcação de formulário. Curso Superior de Tecnologia em Design Gráfico

INTRODUÇÃO AO DESENVOLVIMENTO WEB

Ferramentas para Multimídia e Internet

Prof. Erwin Alexander Uhlmann 1/7/2010

Acessibilidade na Web: Novos padrões WCAG 2.0. Reinaldo Ferraz. Novembro/2009. Acessibilidade na Web: novos padrões WCAG 2.0

Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas Prof. Felippe Scheidt IFPR Campus Foz do Iguaçu 2014/2.

Tabelas Div Span Frames Formulários

FORMULÁRIOS HTML (FORMS) E ENTRADAS DE DADOS (INPUT)

Maurício Samy Silva. Novatec

Síntese da aula anterior

Programação Web Prof. Wladimir

Colégio da Policia Militar do Estado do Tocantins. HTML5 e CSS3 Formulários Prof. Gleison Batista de Sousa

HTML (Hyper Text Markup Language) É a linguagem com que se escrevem as páginas web;

mkdir /srv/www/default/html/calculadora/imagens mkdir /srv/www/default/html/calculadora/blocos

Web Design Aula 09: Formulários

1. HTML - Introdução. Hyper Text Markup Language. É uma linguagem de formatação de conteúdos. Portável. Ficheiros de pequena dimensão

Observações importantes:

Apostila Active Brasil de Webdesign. Daniel de Menezes Gularte Omar Queiroz Apostila de Webdesign ver. 1 rev. 0. Curso de Web Design

Tags estruturais <!-- --> Cria um comentário <html> </html> Envolve todo um documento html <head> </head> Envolve o cabeçalho de um documento html

Mais sobre uso de formulários Site sem Ajax

UNIVERSIDADE PAULISTA UNIP EMENTA E CONTEÚDO PROGRAMÁTICO. I. Ementa HTML e XHTML, de estrutura e marcação utilizados na sua composição; CSS.

Linguagem de. Aula 06. Profa Cristiane Koehler

Formulário (Send & Recieve) Prof. Celso H. Masotti

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RN - IFRN APOSTILA: AUTORIA WEB PROFESSOR: ADDSON ARAÚJO DA COSTA SANTA CRUZ - RN

Formulários HTML. Envio de Informação para o servidor

WEBDESIGN. Professor: Paulo Marcos Trentin - paulo@paulotrentin.com.br Escola CDI de Videira

Desenvolvimento Web XHTML Formulários. Prof. Bruno E. G. Gomes

Programação para Internet I

HTML -- Criação de Home Page

LINGUAGEM DE PROGRAMAÇÃO WEB

HTML Página 36. Índice

UNIVERSIDADE PAULISTA UNIP EMENTA E CONTEÚDO PROGRAMÁTICO

Introdução. História. Como funciona

Tabelas. Tabelas. Iniciando a construção... Atributos <table> Tag <table></table> 05/04/2011

Programação e Designer para WEB

Formulários em HTML - O que são e para que servem

3 HTML Tabelas, frames e formulário

Programação HTML Construção de Páginas para WEB 47

HTML. Sessão 4 HTML. Criação de Páginas WEB. Tabelas

WebDesign. Professor: Paulo Trentin Escola CDI de Videira

CRIAÇÃO DE RELATÓRIOS EM DELPHI

QUEM FEZ O TRABALHO?

HTML BÁSICO E TEMPLATE VIEW. Gabrielle Amorim Porto

TABELAS EM HTML. Prof: André Aparecido da Silva Disponível em:

> Herbet Ferreira Rodrigues > contato@herbetferreira.com

HTML Curso Básico HTML CURSO BÁSICO Aprenda os conceitos iniciais de HTML em alguns minutos.

Conteúdo Dinâmico. Introdução. Interação Browser x Servidor Web. Interação Browser x Servidor Web

Programação Web Prof. Wladimir

Tecnologias para apresentação de dados - HTML. Aécio Costa

PROGRAMAÇÃO PARA INTERNET. Prof.: Jean Carlo Mendes

APOSTILA. Curso de HTML com PHP HTML. Pablo Dapont

Observações importantes:

Construindo Sites com. CSS e (X)HTML. sites controlados por folhas de estilo em cascata. Maurício Samy Silva. Novatec

Curso PHP Básico. Jairo Charnoski do Nascimento

Curso de HTML. Daniel Destro do Carmo Softech Network Informática

INTRODUÇÃO AO DESENVOLVIMENTO FRONT-END COM HTML, CSS E JAVASCRIPT

HTML / JAVASCRIPT. A versão atual é o HTML5 (seus predecessores imediatos são HTML 4.01, XHTML 1.1, etc.).

Por que aprender a fazer tabelas? Tabelas auxiliam na formatação da página, e é por essa razão que eles foram acrescentados à linguagem html

Claudio Damasceno. Avançar

Vejamos um exemplo. Vamos supor que queiramos montar uma tabela 3X2, ou seja de 3 colunas por 2 linhas, o código HTML para isso é :

indica o nome do campo pelo qual podemos acessar.

Validação de formulários utilizando Javascript

HTML. Conceitos básicos de formatação de páginas WEB

Transcrição:

Tutorial Acessibilidade na Web Construindo Formulários e Tabelas acessíveis FISL 12 Reinaldo Ferraz W3C Brasil

Possibilitar o acesso a pessoas com deficiência

Web para todos

Todos mesmo!

Web para todos, em qualquer dispositivo, em qualquer lugar, segura e confiável!

Construindo Tabelas Acessíveis

Quem se beneficia com a acessibilidade na web?

Tabelas para layout

Pare de usar tabelas para layout de página!

As tabelas não devem ser utilizadas como auxiliares de layout. Historicamente, alguns autores têm abusado das tabelas em HTML, como forma de controlar o seu layout de página. Esse uso não é recomendado, porque as ferramentas que tentam extrair os dados tabulares de tais documentos obtém resultados confusos. Em particular, os usuários de ferramentas de acessibilidade, como leitores de tela podem achar muito difícil de navegar em páginas com tabelas usadas para layout. http://www.w3.org/tr/html5/tabular-data.html#the-table-element

Atalhos de teclado para navegação em tabelas JAWS Fonte: Webaim

Use CSS! Deixa a página mais leve Modifica diversas páginas fazendo alterações em um único arquivo Separa apresentação do conteúdo

Estrutura básica de uma tabela <table> <tr> <td> Minha tabela </td> </tr> </table>

Estrutura básica de uma tabela <table> <tr> <th>minha tabela</th> </tr> <tr> <td>simples</td> </tr> </table>

Estrutura básica de uma tabela <table> - Tabela <th> - Table Header <tr> - Table Rows <td> - Table Data

Estrutura básica de uma tabela <table> <tr> <td> </td> <th>monday</th> <th>tuesday</th> <th>wednesday</th> </tr> <tr> <th>8:00-9:00</th> <td>meet with Sam</td> <td> </td> <td> </td> </tr> <tr> <th>9:00-10:00</th> <td> </td> <td> </td> <td>doctor Williams</td> </tr> </table>

Informações sobre a tabela

Informações sobre a tabela A5 - TIPO DE CONEXÃO PARA ACESSO À INTERNET NO DOMICÍLIO Percentual sobre o total de domicílios com acesso à Internet 1 Percentual (%) Modem Tradicional (acesso discado linha telefônica) Banda Larga 2 Outros NS/NR 3 TOTAL Banda Larga Modem digital via linha telefônica (tecnologia DSL) Modem via cabo Conexão via rádio Conexão via satélite TOTAL BRASIL 20 66 23 25 14 3 6 10 ÁREA URBANA 19 66 24 26 14 3 6 9 RURAL 21 55 17 14 20 5 8 16 REGIÕES DO PAÍS SUDESTE 22 65 21 30 11 3 4 10 NORDESTE 19 64 12 32 18 1 10 9 SUL 13 71 34 12 22 3 8 10 NORTE 31 49 23 11 11 5 14 7 CENTRO-OESTE 13 67 34 18 13 2 8 13 RENDA FAMILIAR Até R$465 16 51 14 20 14 3 12 21 R$466-R$930 22 61 18 24 15 4 4 14 R$931-R$1395 23 62 22 24 13 2 6 9 R$1396-R$2325 23 63 23 22 15 3 6 8 R$2326-R$4650 16 75 32 28 11 4 7 4 R$4651 ou mais 12 78 27 34 16 1 6 5 CLASSE SOCIAL 4 A 11 81 24 41 14 3 9 3 B 18 71 28 26 13 3 6 7 C 22 61 19 24 15 3 5 12 DE 26 41 10 15 15 2 3 29

Informações sobre a tabela

Informações sobre a tabela <table summary="as duas primeiras colunas da tabela são as variáveis de cruzamento (por exemplo, Regiões do país) e as subdivisões de cada bloco (por exemplo, sudeste, sul, etc.). As demais colunas são os números percentuais de cada indicador. Informações adicionais para melhor leitura dos dados estão no rodapé de cada tabela.">

Informações sobre a tabela summary="as duas primeiras colunas da tabela são as variáveis de cruzamento (por exemplo, Regiões do país) e as subdivisões de cada bloco (por exemplo, sudeste, sul, etc.). As demais colunas são os números percentuais de cada indicador. Informações adicionais para melhor leitura dos dados estão no rodapé de cada tabela."> <table cellspacing="0" cellpadding="0" <caption>a1 - PROPORÇÃO DE DOMICÍLIOS COM COMPUTADOR</caption> </table>

Informações sobre a tabela

Todo o visual pode ser modificado via CSS

Formatação visual

Formatação visual

Formatação visual

Blocos de conteúdo

Blocos de conteúdo <TABLE> <THEAD> <TR>...header information..</thead> <TFOOT> <TR>...footer information </TFOOT> <TBODY> <TR>...first row of block one data... <TR>...second row of block one data... </TBODY> </TABLE>

Blocos de conteúdo <TABLE> <THEAD> <TR>...header information..</thead> <TFOOT> <TR>...footer information </TFOOT> <TBODY> <TR>...first row of block one data... <TR>...second row of block one data... </TBODY> </TABLE>

Blocos de conteúdo TFOOT must appear before TBODY within a TABLE definition so that user agents can render the foot before receiving all of the (potentially numerous) rows of data. http://www.w3.org/tr/html401/struct/tables.html#edef-t

Blocos de conteúdo <table> <thead> <tr><th>minha tabela</th> <th>percentuais</th></tr> </thead> <tfoot> <tr><th>total</th> <td>10%</td></tr> </tfoot> <tbody> </tbody> </table>

Referências entre células

Referências entre células

Referências entre células Utilizar o atributo scope para associar células de cabeçalho e células de dados em tabelas de dados. <table border="1"> <caption>contact Information</caption> <tr> <td></td> <td scope="col">name</td> <td scope="col">phone#</td> <td scope="col">city</td> </tr><tr> <td>1.</td> <td scope="row">joel Garner</td> <td>412-212-5421</td> <td>pittsburgh</td> </tr><tr> <td>2.</td> <td scope="row">clive Lloyd</td> <td>410-306-5400</td> <td>baltimore</td> </tr> </table>

Referências entre células Utilizar os atributos ID e headers para associar células de dados com células de cabeçalhos em tabelas de dados. <table> <tr> <th rowspan="2" id="h">homework</th> <th colspan="3" id="e">exams</th> <th colspan="3" id="p">projects</th> </tr> <tr> <th id="e1" headers="e">1</th> <th id="e2" headers="e">2</th> <th id="ef" headers="e">final</th> <th id="p1" headers="p">1</th> <th id="p2" headers="p">2</th> <th id="pf" headers="p">final</th> </tr> <tr> <td headers="h">15%</td> <td headers="e e1">15%</td> <td headers="e e2">15%</td> <td headers="e ef">20%</td> <td headers="p p1">10%</td> <td headers="p p2">10%</td> <td headers="p pf">15%</td> </tr> </table>

E o HTML5?

HTML5 - Atributos obsoletos Elemento TABLE align bgcolor border cellpadding cellspacing frame rules width background

HTML5 - Atributos obsoletos Elemento TABLE Atributo summary - Elemento details <table> <caption> <strong>characteristics with positive and negative sides.</strong> <details> <summary>help</summary> <p>characteristics are given in the second column, with the negative side in the left column and the positive side in the right column.</p> </details> </caption>

HTML5 - Atributos obsoletos em TH, TR e TD align nos elementos td e th bgcolor nos elementos td e th char nos elementos td e th charoff nos elementos td e th height nos elementos td e th nowrap nos elementos td e th valign nos elementos td e th width no elementos td e th align no elemento tr bgcolor no elemento tr char no elemento tr charoff no elemento tr valign no elemento tr

Testar e validar!

Resumindo: Utilize o atributo summary para uma breve explicação sobre a leitura da tabela; Utilize o elemento CAPTION para o título da tabela; Utilize elementos THEAD, TFOOT e TBODY para separar blocos de conteúdo das tabelas; Utilize o atributo scope para associar colunas e linhas de uma tabela simples;

Resumindo: Para tabelas mais complexas, utilize os atributos headers e IDs para associar colunas e linhas; Utilize CSS para formatação visual da tabela; Teste o resultado em diversos navegadores e tecnologias assistivas (como leitores de tela) Valide seu código pelo W3C; E finalmente

Resumindo: Não utilize tabelas para layout Elas não foram feitas para isso.

Construindo Formulários Acessíveis

Porque fazer formulários acessíveis?

Formulários acessíveis Tipos de campos de formulário <input> -Text - Password - Hidden - Checkbox - Radio - File - Submit - Reset - Button - Image <textarea> <select> <option> Além da tag <FORM>

Formulários acessíveis Outros elementos do formulário <label> <fieldset> <legend> <optgroup> <button>

Formulários acessíveis Relacionando elementos

Relacionando elementos Nome <input type="text" name="nome" />

Relacionando elementos Atalhos de teclado para navegação em formulários JAWS Fonte: Webaim

Relacionando elementos Utilizar o elemento label para associar rótulos de textos em controles de formulários.

Relacionando elementos Em um campo de entrada de texto: <label for="firstname">first name:</label> <input type="text" name="firstname" id="firstname" /> Em um campo checkbox: <input type="checkbox" id="markuplang" name="computerskills > <label for="markuplang">html</label> Obs: Elemento Label deve estar posicionado depois dos elementos input de type="checkbox" e type="radio"

Relacionando elementos Quando não puder utilizar o elemento label Utilizar o atributo title Exemplo: Campos de texto para números de telefone <fieldset> <legend>phone number</legend> <input id="areacode" title="area Code" type="text" size="3" value="" > <input id="exchange title="first three digits of phone number" type="text value="" > <input id="lastdigits title="last four digits of phone number" type="text value="" > </fieldset>

Relacionando elementos <input type="image" src="enviar.png" alt="enviar formulário" />

Formulários acessíveis Acessibilidade e usabilidade

Acessibilidade e usabilidade Clicando aqui Aciona aqui

Acessibilidade e usabilidade Posiciona o cursor aqui Clicando aqui

Formulários acessíveis Formatação visual

Formatação visual

Formulários acessíveis Agrupando elementos

Agrupando elementos

Agrupando elementos

Agrupando elementos <form action="http://example.com/adduser" method="post"> <fieldset> <legend>residential Address</legend> <label for="raddress">address: </label> <input type="text" id="raddress" name="raddress" /> <label for="rzip">postal/zip Code: </label> <input type="text" id="rzip" name="rzip" />...more residential address information... </fieldset> <fieldset> <legend>postal Address</legend> <label for="paddress">address: </label> <input type="text" id="paddress" name="paddress" /> <label for="pzip">postal/zip Code: </label> <input type="text" id="pzip" name="pzip" />...more postal address information... </fieldset> </form>

Agrupando elementos <form action= #" method="post"> <label for="food">what is your favorite food?</label> <select id="food" name="food"> <optgroup label="fruits"> <option value="1">apples</option> <option value="3">bananas</option> <option value="4">peaches</option> </optgroup> <optgroup label="vegetables"> <option value="2">carrots</option> <option value="6">cucumbers</option> </optgroup> <optgroup label="baked Goods"> <option value="8">apple Pie</option> <option value="9">chocolate Cake</option> </optgroup> </select> </form>

Formulários acessíveis Informações adicionais

Informações adicionais

Informações adicionais

Informações adicionais

Formulários acessíveis Verifique se o formulário está acessível somente via teclado

Acessíveis via teclado

Formulários acessíveis Validar e testar

Validar e testar

Formulários acessíveis

HTML5

HTML5 <input id="form-4" <input id="form-5" <input id="form-6" <input id="form-7" <input id="form-8" name="age" type="number" min="18" max="25"> name="email" type="email" required> name="url" type="url"> name="dob" type="date"> name="a" type="range" min="1" max="10" value="0">

HTML5 <input id="form-7" name="dob" type="date">

HTML5

HTML5

Resumindo Certifique-se que todo o formulário possa ser acessado via teclado Relacione elementos de formulário utilizando o elemento LABEL e o atributo ID Se não for possível utilizar o elemento LABEL, utilize o atributo TITLE em campos de formulário. Utilize o atributo ALT para adicionar texto alternativo a imagens em botões. Cuidado com a formatação visual dos formulários. Caso as faça, utilize CSS

Resumindo Agrupe elementos de formulário utilizando o atributo FIELDSET e OPTGROUP Forneça informações relevantes para auxiliar o usuário e nunca utilize apenas cor para transmitir informações no formulário. Teste o resultado em diversos navegadores e tecnologias assistivas (como leitores de tela) Valide seu código pelo W3C;

http://jovemnerd.ig.com.br/nerdcast/nerdcast-256-cegos-nerds-e-loucos/

Obrigado! Reinaldo Ferraz NIC.br reinaldo@nic.br Twitter: @reinaldoferraz