Подтвердить что ты не робот

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

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

android:contentDescription="@null"

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

4b9b3361

Ответ 1

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

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

Ответ 2

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

Брайан абсолютно прав в отношении того, для чего используется 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 и выше.