Android - Доступность «Talkback» заставляет систему читать слово «слово» вслух; добавить суффикс «изображение» к изображению - PullRequest
1 голос
/ 30 января 2020

У меня следующий (вполне стандартный) вид. ImageView с android:contentDescription является важной частью. Мой вопрос касается только Специальные возможности .

По умолчанию используется ImageView: android.widget.ImageView

android:contentDescription установлено на «Моя классная собака», и система читает (говорит ) через Android Talkback точно так же: "Мой клевый пес".

Я хочу, чтобы он читал: "Мой клевый пес image ". Как я могу добавить суффикс «изображение» к сообщению разговора?

В идеале я хотел бы иметь что-то похожее на context.getString(android.R.string.accessibility_button), которое было бы локализовано для конкретных c языков.

<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">
    <data></data>

    <androidx.coordinatorlayout.widget.CoordinatorLayout
        android:fitsSystemWindows="true"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <ImageView
            android:id="@+id/welcome_image"
            android:fitsSystemWindows="true"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_gravity="top"
            android:contentDescription="@{viewModel.imageAccessebilityDescription}"
            app:imageRes="..." />
    </androidx.coordinatorlayout.widget.CoordinatorLayout>
</layout>

1 Ответ

2 голосов
/ 30 января 2020

Большая часть контекстной информации передается пользователям через «гудки», «гудки» и т. Д. c. Возможно, вы не заметили это. Вот почему вы не слышите, что это изображение.

Никогда не добавляйте «изображение» в конец описания. Вы должны иметь в виду, что есть BrailleBack пользователей, которые не хотят получать эту дополнительную информацию, и это фактически уменьшило бы доступность для этих пользователей (представьте, что есть несколько изображений одно за другим, они будут читать 'изображение, мой классная собака, изображение, изображение, еще одна классная собака, изображение '. Это могло бы сбить с толку, если бы они пропустили изображение, сколько там изображений и т. д. c.).

Теперь, если вы хотите чтобы сделать его более понятным, приемлемым contentDescription будет 'Изображение моей классной собаки' против 'Моя классная собака, изображение' , по крайней мере, это имеет смысл для всех пользователей.

Хотя это и не идеально, вы можете использовать это в своих интересах, поскольку вы можете описать стиль изображения с помощью таких терминов, как «иллюстрация ...», «картина ...» , «рисунок ...», «фотография ...» et c. По крайней мере, таким образом вы не добавляете совершенно ненужную информацию, даже если на самом деле TalkBack должно быть лучше здесь.

Я знаю, что это усложняет автоматизацию для i18n et c. но это обеспечит гораздо лучший опыт и будет соответствовать требованиям WCAG. Вместо этого я просто выключил бы все contentDescription для каждого языка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...