Я знаю, что этот вопрос задавали некоторое время назад, но для новых читателей, которые могут столкнуться с этим:
Брайан абсолютно прав в том, для чего используется contentDescription.Однако бывают случаи, когда не только уместно, но предпочтительнее установить его в @null. Если изображение является чисто декоративным и не реагирует на клики или не связано с контентом, вам следует установить для contentDescription значение @null.В противном случае установите для него что-то осмысленное.
Помните, что все, что задано как contentDescription, устройство читает вслух при использовании программы чтения с экрана.Вообразите в своем уме простой всплывающий диалог.Теперь мысленно послушайте эти два разных описания контента для одного и того же диалога:
Недостаточно продуманные описания контента в конечном итоге звучат глупо.Такие элементы, как значки выноски, которые просто повторяют текст рядом с ними, или причудливые границы, которые не влияют на смысл страницы, должны подавляться с помощью @null.И наоборот, все, что можно нажимать, должно не только иметь описание, но и иметь значимое описание.Если вы попытаетесь установить @null на что-то кликабельное, вместо этого устройство будет говорить «Кнопка».Изменение описания на «Зеленая кнопка» не помогает.Не заставляйте своих пользователей догадываться, что такое «зеленая кнопка»!
Если вы не уверены, не забудьте включить TalkBack на своем телефоне.Он предварительно установлен на большинстве устройств, или вы можете получить его из магазина Play.Вам понадобится D-Pad на старых устройствах, или исследуйте на сенсорной панели ICS и выше.