ContentDescription = "@ null" плохой идеей?

Линт жалуется, что он задал описание контента. Поэтому, чтобы избежать создания строки, я установил ее в null.

android:contentDescription="@null" 

Кажется, это успокаивает жалобы от ворса. Я немного потерял, почему мне нужно установить ссылку на строку contentDescription. Какова цель этого? Зачем мне это нужно? И, по сути, установив его в null, это хорошая идея?

Solutions Collecting From Web of "ContentDescription = "@ null" плохой идеей?"

Это доступность для слепых. Для доступа к приложениям, использующим contentDescription слепые пользователи перемещаются с использованием возможностей преобразования текста в речь Android. Поэтому, если кто-то выбирает ImageButton помощью трекпада или что-то в этом роде, TTS может говорить о contentDescription поэтому они могут легко ориентироваться в приложении. См. Это для получения дополнительной информации.

Чтобы ответить на ваш вопрос: он может заставить замолчать вывод линта, но он ничего не делает плохого или хорошего.

Я знаю, что этот вопрос был задан некоторое время назад, но в интересах новых читателей, которые могут столкнуться с этим:

Брайан абсолютно корректен в отношении того, для чего используется contentDescription. Тем не менее, бывают случаи, когда это не только подходит, но и предпочитает устанавливать его на @null. Если изображение является чисто декоративным, а не кликабельным или связанным с контентом, вы должны установить contentDescription в @null. В противном случае установите его в нечто значимое.

Помните что-либо, установленное как contentDescription, считывается вслух устройством при использовании устройства чтения с экрана. Представьте себе, что в вашем сознании есть простой всплывающий диалог. Теперь мысленно слушайте эти два разных описания содержимого для одного и того же диалога:

  • "Information icon. Do you want to continue? Fancy horizontal rule. Button. Button."

    vs-

  • "Do you want to continue? Submit. Cancel."

Контентные описания, которые не очень продуманны, выглядят глухими. Такие элементы, как значки выносок, которые просто повторяют текст рядом с ними или фантастические границы, которые не вносят вклад в значение страницы, должны быть подавлены с помощью @null. И наоборот, все, что нужно для клики, должно не только содержать описание, но и иметь содержательное описание. Если вы попытаетесь установить @null на что-то щелкнув, устройство вместо этого произнесет «Button». Изменение описания на «Зеленая кнопка» не помогает. Не заставляйте своих пользователей догадываться, что такое «Зеленая кнопка»!

Если вы никогда не знаете, не забывайте, что вы можете включить TalkBack на своем телефоне. Он предварительно установлен на большинстве устройств, или вы можете получить его из магазина Play. Вам понадобится d-pad на старых устройствах, или исследовать прикосновением к ICS и выше.