Estou recebendo um aviso como "[Acessibilidade] Falta o atributo contentDescription na imagem" para visualização de imagem. enquanto estiver usando o Android Lint
O que isso significa?
android
android-layout
android-lint
Santhosh Shettigar
fonte
fonte
<string name="none"></string>
e então useiandroid:contentDescription="@string/none"
Respostas:
Resolvido esse aviso, definindo o atributo
android:contentDescription
para o meu ImageViewO suporte do Android Lint no ADT 16 lança esse aviso para garantir que os widgets de imagem forneçam uma descrição do conteúdo.
Isso define o texto que descreve brevemente o conteúdo da exibição. Esta propriedade é usada principalmente para acessibilidade. Como algumas visualizações não têm representação textual, esse atributo pode ser usado para fornecê-las.
Widgets não textuais como ImageViews e ImageButtons devem usar o atributo contentDescription para especificar uma descrição textual do widget, para que os leitores de tela e outras ferramentas de acessibilidade possam descrever adequadamente a interface do usuário.
fonte
Desabilitar os avisos de cotão facilmente causará problemas mais tarde. É melhor apenas especificar contentDescription para todos os seus ImageViews. Se você não precisar de uma descrição, use:
fonte
Outra opção é suprimir o aviso individualmente:
Exemplo:
fonte
Eu recomendo que você adicione o contentDescription.
mas, sejamos realistas. A maioria das pessoas não mantém literalmente a acessibilidade. Ainda assim, com pouco esforço, você pode implementar algo para ajudar as pessoas com deficiência.
.
A coisa mais importante que o usuário cego precisará saber é "Onde está o botão no qual preciso clicar para continuar"
Use contentDescriptionAction para qualquer coisa clicável.
use contentDescriptionContent para imagem com informações (gráfico, textAsImage, ...)
use contentDescriptionUserContent para todo o conteúdo fornecido pelo usuário.
use contentDescriptionUseless para todo o resto.
fonte
Como é apenas um aviso, você pode suprimi-lo. Vá para o layout gráfico do seu XML e faça o seguinte:
Clique no botão vermelho no canto superior direito
Selecione "Desativar tipo de problema" (por exemplo)
fonte
Se você deseja suprimir esse aviso de maneira elegante (porque você tem certeza de que a acessibilidade não é necessária para este ImageView específico), você pode usar o atributo especial:
fonte
Vá para o
Gradle
arquivo (módulo de aplicativo), adicione o bloco de código abaixoNão há mais aviso! codificação feliz
fonte
Os widgets não textuais precisam de uma descrição de conteúdo de algumas maneiras para descrever textualmente a imagem, para que as telas sejam capazes de descrever a interface do usuário. Você pode ignorar a propriedade ou definir a propriedade
xmlns:tools="http://schemas.android.com/tools"
tools:ignore="contentDescription"
android:contentDescription="your description"
fonte
ContentDescription
necessário para a acessibilidade do Android. Especialmente para o recurso de leitor de tela. Se você não suporta a acessibilidade do Android, pode ignorá-lo com a instalação do Lint .Então, basta criar
lint.xml
.E coloque-o na
app
pastafonte
Para elementos gráficos puramente decorativos, defina seus respectivos atributos XML android: contentDescription como "@null".
Se seu aplicativo suportar apenas dispositivos com Android 4.1 (nível 16 da API) ou superior, você poderá definir os atributos XML do android: importantForAccessibility como "não"
fonte
Desde que eu preciso do ImageView para adicionar um ícone apenas para estética que eu adicionei
tools:ignore="ContentDescription"
dentro de cada ImageView que eu tinha no meu arquivo xml.Não estou mais recebendo nenhuma mensagem de erro
fonte