Acessibilidade no iOS

Esta página descreve como usar as APIs de Acessibilidade do iOS para criar aplicativos de acordo com a lista de verificação de acessibilidade. Consulte as páginas de acessibilidade do Android e do OS X para outras APIs de plataforma.

Descrevendo elementos da interface do usuário

O iOS fornece as AccessibilityLabel propriedades e AccessibilityHint para os desenvolvedores adicionarem texto descritivo que pode ser usado pelo leitor de tela do VoiceOver para tornar os controles mais acessíveis. Os controles também podem ser marcados com uma ou mais características que fornecem contexto adicional em modos acessíveis.

Alguns controles podem não precisar ser acessíveis (por exemplo, um rótulo em uma entrada de texto ou uma imagem que é puramente decorativa) – o é fornecido para desativar a IsAccessibilityElement acessibilidade nesses casos.

Designer de interface do usuário

O Bloco de Propriedades contém uma seção de acessibilidade que permite que essas configurações sejam editadas quando um controle é selecionado no Designer de Interface do Usuário do iOS:

Accessibility Settings

C#

Essas propriedades também podem ser definidas diretamente no código:

usernameInput.AccessibilityLabel = "Search";
usernameInput.Hint = "Press Enter after typing to search employee list";
someLabel.IsAccessibilityElement = false;
displayOnlyText.AccessibilityTraits = UIAccessibilityTrait.Header | UIAccessibilityTrait.Selected;

O que é AccessibilityIdentifier?

O AccessibilityIdentifier é usado para definir uma chave exclusiva que pode ser usada para se referir a elementos da interface do usuário por meio da API UIAutomation.

O valor de AccessibilityIdentifier nunca é falado ou exibido para o usuário.

Pós-Notificação

O UIAccessibility.PostNotification método permite que os eventos sejam gerados para o usuário fora da interação direta (por exemplo, quando eles interagem com um controle específico).

Comunicado

Um anúncio pode ser enviado a partir do código para informar ao usuário que algum estado foi alterado (como uma operação em segundo plano foi concluída). Isso pode ser acompanhado por uma indicação visual na interface do usuário:

UIAccessibility.PostNotification (
  UIAccessibilityPostNotification.Announcement,
    new NSString(@"Item was saved"));

LayoutAlterado

O LayoutChanged anúncio é usado quando o layout da tela:

UIAccessibility.PostNotification (
  UIAccessibilityPostNotification.LayoutChanged,
    someControl);  // someControl gets focus

Acessibilidade e Localização

As propriedades de acessibilidade, como o rótulo e a dica, podem ser localizadas como outro texto na interface do usuário.

MainStoryboard.strings

Se a interface do usuário estiver disposta em um storyboard, você poderá fornecer traduções para propriedades de acessibilidade da mesma forma que outras propriedades. No exemplo abaixo, um UITextField tem uma ID de localização e duas propriedades de Pqa-aa-ury acessibilidade sendo definidas em espanhol:

/* Accessibility */
"Pqa-aa-ury.accessibilityLabel" = "Notas input";
"Pqa-aa-ury.accessibilityHint" = "escriba más información";

Esse arquivo seria colocado no diretório es.lproj para conteúdo em espanhol.

Localizável.strings

Como alternativa, as traduções podem ser adicionadas ao arquivo Localizable.strings no diretório de conteúdo localizado (por exemplo. es.lproj para espanhol):

/* Accessibility */
"Notes" = "Notas input";
"Provide more information" = "escriba más información";

Essas traduções podem ser usadas em C# através do LocalizedString método:

notesText.AccessibilityLabel = NSBundle.MainBundle.LocalizedString ("Notes", "");
notesText.AccessibilityHint = NSBundle.MainBundle.LocalizedString ("Provide more information", "");

Consulte o guia de localização do iOS para obter mais detalhes sobre a localização de conteúdo.

Testando a acessibilidade

O VoiceOver está ativado na aplicação Definições ao navegar até Acessibilidade > Geral > do VoiceOver:

Setting the speaking rate

A tela Acessibilidade também fornece configurações de zoom, tamanho do texto, opções de contraste de cor e contraste, configurações de fala e outras opções de configuração.

Siga estas instruções do VoiceOver para testar a acessibilidade em dispositivos iOS.

Teste de Simulador

Ao testar no simulador, o Inspetor de Acessibilidade está disponível para ajudar a verificar se as propriedades e os eventos de acessibilidade estão configurados corretamente. Ative o inspetor no aplicativo Configurações navegando até o Inspetor Geral > de Acessibilidade > de Acessibilidade:

Enable Accessibility Inspector

Uma vez habilitada, a janela do inspetor passa o mouse sobre a tela do iOS o tempo todo. Aqui está um exemplo da saída quando uma linha de exibição de tabela é selecionada – observe que o Rótulo contém uma frase que fornece o conteúdo da linha e também que ela está "concluída" (ou seja, o tick está visível):

Using Accessibility Inspector

Enquanto o inspetor estiver visível, use o ícone "X" no canto superior esquerdo para mostrar e ocultar temporariamente a sobreposição e ativar/desativar as configurações de acessibilidade.