Controles ASP.NET e acessibilidade
O ASP.NET permite-lhe criar páginas da Web que estejam de acordo com as diretrizes de acessibilidade.Para obter detalhes, consulte:Suporte à acessibilidade no ASP.NET.
Para criar aplicativos da Web acessíveis no ASP.NET, você deve entender como servidor ASP.NET controla o suporte de acessibilidade.Em muitos casos, você deve configurar um controle para criar uma marcação que está de acordo com as diretrizes de acessibilidade.Em alguns casos, os controles de servidor ASP.NET não podem ser usados em aplicativos que devem ser conformes 100 por cento com as Diretrizes de Acessibilidade de Conteúdo da Web 1.0 (Web Content Accessibility Guidelines - WCAG) de prioridade 1.Nesses casos, você deve evitar usar os controles.
Diretrizes de acessibilidade para controle ASP.NET
A tabela a seguir lista os controles de servidor ASP.NET e fornece informações sobre suporte de acessibilidade para o controle.Se um controle não estiver listado na tabela, sua saída está de acordo com as Diretrizes de Acessibilidade sem quaisquer requisitos de configuração.
Controle |
Suporte de acessibilidade |
---|---|
O controle não gerará elementos label para associar rótulos a controles. Todos os verbos geram o mesmo texto de link. O texto alternativo para os vínculos é processado mas não é personalizável. O controle requer script de cliente para funcionar. O controle não processa a chave de acesso ou as configurações do índice das guias. |
|
O controle não gerará elementos label para associar rótulos a controles. Todos os verbos geram o mesmo texto de link. O texto alternativo para os vínculos é processado mas não é personalizável. O controle requer script de cliente para funcionar. O controle não processa a chave de acesso ou as configurações do índice das guias. |
|
Se a propriedade DisplayModedo controle é definida como LinkButton, o controle requer script de cliente para funcionar.Para evitar a necessidade de script de cliente, crie modelos e adicione controles Button para essas funções. Quando a propriedade BulletStyle do controle for definida como CustomImage, certifique-se que o elemento gráfico não transmite significado que não estaria disponível para os usuários que não podem exibir o elemento gráfico. Definir a propriedade Target para links abre uma nova janela, o que não é recomendado por diretrizes de acessibilidade. |
|
Definir a propriedade OnClientClick faz botão depender de script de cliente. |
|
O controle não processa header em colunas, mas processa elementos th com um scope para o título. O layout do controle é processado utilizando uma tabela HTML, que não é recomendado, em algumas diretrizes.Defina as propriedades Caption e CaptionAlign do controle para processar uma legenda para a tabela, conforme recomendado em diretrizes de acessibilidade. O controle processa controles de navegação LinkButton, que exigem script de cliente para funcionar.Para evitar a necessidade de script de cliente, crie modelos e adicione controles Button para essas funções. |
|
O controle não gerará elementos label para associar rótulos a controles. Todos os verbos geram o mesmo texto de link. O texto alternativo para os vínculos é processado mas não é personalizável. O controle requer script de cliente para funcionar. O controle não processa a chave de acesso ou as configurações do índice das guias. |
|
O controle requer script de cliente para funcionar. Se você configurar o controle para usar imagens, defina a propriedade de texto correspondente para o texto alternativo apropriado.Por exemplo, se você definir a propriedade ChangePasswordButtonTypeImage, defina a propriedade ChangePasswordButtonText para texto alternativo. |
|
Definir a propriedade AutoPostBack como true faz com que o controle exija script de cliente. |
|
Definir a propriedade AutoPostBack como true faz com que o controle exija script de cliente. |
|
Se você configurar o controle para usar imagens, defina a propriedade de texto correspondente ao texto alternativo apropriado.Por exemplo, se você definir a propriedade CancelButtonTypeImage, defina a propriedade CancelButtonText para texto alternativo. Botões no controle, como o botão Submeter e links para mover entre etapas, requerem script de cliente. |
|
Se o QueryStringField propriedade não está definida e você estiver usando NumericPagerField ou NextPreviousPagerField objetos, o DataPager controle requer script de cliente. Se os objetos de campo de paginação estiverem configurados para usar imagens, não é possível especificar explicitamente texto alternativo para as imagens.As imagens usam as propriedades de texto (como NextPageText) como texto alternativo.Como alternativa, use o objeto TemplatePagerField para que você possa definir exatamente o que o pager exibe. |
|
Se você criar uma ButtonField coluna e especificar uma imagem para o botão, não é possível especificar explicitamente texto alternativo para a imagem.A imagem usa a propriedade Text do objeto como o texto alternativo. O layout do controle é processado utilizando uma tabela HTML, que não é recomendável por algumas diretrizes, porque ela não inclui informações de cabeçalho da tabela. Se você habilitar paginação e você definir as propriedades NextPageImageUrl e PreviousPageImageUrl, você não pode explicitamente definidr o texto alternativo para as imagens usadas como botões de paginação.Em vez disso, use a propriedade PagerTemplate para que você possa definir exatamente o que o paginador exibe. Por padrão, este controle usa controles LinkButton, que exigem script de cliente para funções como alternar para modo de edição, paginação e assim por diante.Para evitar a necessidade de script de cliente, crie modelos e adicione controles Button para essas funções. Caixas de texto geradas automaticamente quando você define a propriedade AutoGenerateEditButton do controle para true não têm elementos label associados.Para evitar isso, crie modelo campos e adicione seus próprios controles Label e TextBox, associando-os manualmente.Defina as propriedades Caption e CaptionAlign do controle para processar uma legenda para a tabela, conforme recomendado em diretrizes de acessibilidade. |
|
O controle não oferece suporte recomendado ao ListItemGroup para permitir que a lista seja subdividida em seções. Definir a propriedade AutoPostBack como true faz com que o controle exija script de cliente. |
|
Todos os verbos exibem o mesmo texto alternativo quando ícones são exibidos. O controle requer script de cliente para funcionar. O controle não processa a chave de acesso ou as configurações do índice das guias. O controle não gerará elementos label para associar rótulos a controles. O texto alternativo para os vínculos é processado mas não é personalizável. |
|
O layout do controle é processado utilizando uma tabela HTML, que não é recomendável por algumas diretrizes, porque ela não inclui informações de cabeçalho da tabela. Por padrão, este controle usa controles LinkButton, que exigem script de cliente para funções, como alternar para modo de edição, paginação e assim por diante.Para evitar a necessidade de script de cliente, use as propriedades PagerTemplate e adicione controles Button para essas funções. Defina as propriedades Caption e CaptionAlign do controle para processar uma legenda para a tabela, conforme recomendado em diretrizes de acessibilidade. |
|
Defina a propriedade RowHeaderColumn como o nome de uma campo de dados e a propriedade UseAccessibleHeadertrue para que o controle processe informações de cabeçalho da tabela que atendam às diretrizes de acessibilidade. Se você criar um objeto ButtonField e especificar uma imagem para o botão, não é possível especificar explicitamente texto alternativo para a imagem.A imagem usa a propriedade Text do objeto como o texto alternativo. Defina as propriedades Caption e CaptionAlign do controle para processar uma legenda para a tabela, conforme recomendado em diretrizes de acessibilidade. Por padrão, este controle usa controles LinkButton, que exigem script de cliente para funções, como alternar para modo de edição, paginação e assim por diante.Para evitar a necessidade de script de cliente, crie modelos e adicione controles Button para essas funções. Se você habilitar paginação e definir as propriedades NextPageImageUrl e PreviousPageImageUrl, você não pode explicitamente definir o texto alternativo para as imagens usadas como botões de paginação.Em vez disso, use a propriedade PagerTemplate para que você possa definir exatamente o que o paginador exibe. Os padrões de controles usados para implementar a edição, seleção, paginação, e outras funções de atualização exigem script de cliente.Para evitar isso, crie colunas de modelo e adicione controles Button manualmente. Caixas de texto geradas automaticamente quando você define a propriedade AutoGenerateEditButton do controle para true não têm elementos label associados.Para evitar isso, crie colunas modelo e adicione seus próprios controles Label e TextBox, associando-os manualmente. Se você ativar a classificação, os links em cabeçalhos de coluna serão controles LinkButton e exigirão script de cliente para funcionar.Para evitar a necessidade de script de cliente, crie modelos e adicione controles Button para essas funções. |
|
Se você definir a propriedade ImageUrl como a URL de um arquivo gráfico, defina a propriedade Text para especificar o texto alternativo para o gráfico resultante. Definir a propriedade Target para links abre uma nova janela, o que não é recomendado por diretrizes de acessibilidade. |
|
Por padrão, o controle não apresenta nenhum texto alternativo.Defina a propriedade AlternateText.Se o elemento gráfico não tiver nenhuma finalidade funcional, defina a propriedade GenerateEmptyAlternateText como true para processar uma alt string vazia (" "), que faz com que leitores de tela ignorem o elemento gráfico. |
|
O controle requer script de cliente para funcionar. Por padrão, o controle não apresenta nenhum texto alternativo.Defina a propriedade AlternateText. Não use o controle ImageButton como um mapa de imagem, porque ele não dá suporte a regiões com seus próprios textos alternativos.Use o controle ImageMap ao invés disso. |
|
Por padrão, o controle não apresenta nenhum texto alternativo.Defina a propriedade AlternateText. Se você definir a propriedade HotSpotMode do controle ou dos hotspots individuais como PostBack, o controle requer script de cliente para funcionar. Definir a propriedade Target para links abre uma nova janela, o que não é recomendado por diretrizes de acessibilidade. |
|
Para usar o controle para processar um label para um caixa de texto ou outro controle, defina a propriedade AssociatedControlID como a identificação do controle para associar ao rótulo. |
|
Sempre incluir o controle LayoutEditorPart com outros controles de Web Parts para disponibilizar uma página.Caso contrário, os usuários pode usar um mouse para arrastar os controles de Web Parts. O controle não gerará elementos label para associar rótulos a controles. Todos os verbos geram o mesmo texto de link. O texto alternativo para os vínculos é processado mas não é personalizável. O controle requer script de cliente para funcionar. O controle não processa a chave de acesso ou as configurações do índice das guias. |
|
O controle requer script de cliente para funcionar. Não defina a propriedade Text de vários controles LinkButton para a mesma string, porque os usuários dependentes de leitores de tela não poderão distinguir os botões. |
|
O controle não oferece suporte recomendado ao ListItemGroup para permitir que a lista seja subdividida em seções. Definir a propriedade AutoPostBack como true faz com que o controle exija script de cliente. |
|
Quando a propriedade LoginButtonType é definida como Image, o valor da propriedade LoginButtonText é usado como o texto alternativo. O controle não processa a chave de acesso ou as configurações do índice das guias. |
|
conjunto o ToolTip propriedade ao texto, sistema autônomo logged in sistema autônomo username, para que leitores de tela irão interpretar o texto do controle corretamente. |
|
O controle usa um controle LinkButton para exibir o link Logout e, portanto, requer script de cliente para funcionar.Para evitar a necessidade de script de cliente, crie modelos e adicione controles Button para essas funções. |
|
Definir a propriedade SkipLinkText do controle para uma string para fazer com que o controle processe o recomendado e ignore links de navegação. O controle requer script de cliente para funcionar. Os navegadores que não oferecem suporte completo as funcionalidades do lado do cliente do controle, o navegador irá atualizar a janela para mostrar a navegação secundária, que pode causar aos leitores de tela começar a ler a página novamente. Definir a propriedade Target para links abre uma nova janela, o que não é recomendado por diretrizes de acessibilidade. O layout do controle é processado utilizando uma tabela HTML, que não é recomendado, em algumas diretrizes. Configurar o controle para o ponteiro do mouse pode causar efeito colateral (como criação de menus de atalho) o que não é recomendado, nas diretrizes de acessibilidade. |
|
O controle não gerará elementos label para associar rótulos a controles. Todos os verbos geram o mesmo texto de link. O texto alternativo para os vínculos é processado mas não é personalizável. O controle requer script de cliente para funcionar. O controle não processa a chave de acesso ou as configurações do índice das guias. |
|
Se a propriedade ClientTarget da página é definida como Downlevel, o controle requer script de cliente para funcionar. Quando a propriedade SubmitButtonType é definida como Image, o valor da propriedade SubmitButtonText é usado como o texto alternativo. O controle não processa a chave de acesso ou as configurações do índice das guias. |
|
O controle não gerará elementos label para associar rótulos a controles. Todos os verbos geram o mesmo texto de link. O texto alternativo para os vínculos é processado mas não é personalizável. O controle requer script de cliente para funcionar. O controle não processa a chave de acesso ou as configurações do índice das guias. |
|
Definir a propriedade AutoPostBack como true faz com que o controle exija script de cliente. |
|
Definir a propriedade AutoPostBack como true faz com que o controle exija script de cliente. |
|
Definir a propriedade SkipLinkText do controle para uma string para fazer com que o controle processe o recomendado e ignore links de navegação. No arquivo XML do mapa do site, defina o atributo description de cada nó do mapa do site para fornecer um título que leitores de tela possam usar para identificar os links de navegação. |
|
Table, TableRow, TableCell, TableHeaderCell, TableHeaderRow, e TableFooterRow |
Defina as propriedades Caption e CaptionAlign do controle para processar uma legenda para a tabela, conforme recomendado em diretrizes de acessibilidade. Ao criar um objeto Table, inclua os controles TableHeaderRow e TableHeaderCell. Nos controles TableHeaderRow, Table, e TableFooterRow, defina a propriedade TableSection para TableBody, TableHeader, ou TableFooter.Isso faz com que o controle processe elementos thead, tbody e tfoot, respectivamente. Nos controles TableCell, defina a propriedade AssociatedHeaderCellID para que o controle processe um header que associa a célula ao seu título. Definir a propriedade Scope do controle para associar o cabeçalho à coluna de dados correspondente. |
Definir a propriedade AutoPostBack como true faz com que o controle exija script de cliente. |
|
Definir a propriedade SkipLinkText do controle para uma string para fazer com que o controle processe o recomendado e ignore links de navegação. Definir a propriedade PopulateOnDemand de um nó para true faz com que o controle comporte-se de maneira que não é compatível com as diretrizes de acessibilidade. O controle requer script de cliente para funcionar. Definir a propriedade Target como _blank para o controle TreeView ou para nós individuais faz com que o controle abra uma nova janela, o que não é recomendado por diretrizes de acessibilidade. |
|
O controle não gerará elementos label para associar rótulos a controles. Todos os verbos geram o mesmo texto de link. O texto alternativo para os vínculos é processado mas não é personalizável. O controle requer script de cliente para funcionar. O controle não processa a chave de acesso ou as configurações do índice das guias. Se você definir a propriedade HelpMode para Modal ou Modeless, o controle abre uma nova janela, o que não é recomendado por diretrizes de acessibilidade. |
|
O controle processa controles de navegação LinkButton, que exigem script de cliente para funcionar.Para evitar a necessidade de script de cliente, crie modelos e adicione controles Button para essas funções. |
|
Controles de validação |
Por padrão, os controles de validação processam o script de cliente para realizar a validação no lado do cliente.No entanto, como controles de validação internos (exceto o controle CustomValidator) realizam automaticamente uma verificação de validação redundante em código do servidor, você pode definir a propriedade EnableClientScript como false para evitar processamento de script de cliente para os controles de validação. Defina as propriedades Text e ErrorMessage para mensagens de erro significativas.Não os defina como um asterisco (*). |