Otrzymuję ostrzeżenie jako "[Dostępność] Brakujące atrybut contentDescription na obrazie" w celu wyświetlenia obrazu. podczas korzystania z android lintaZawartość Lint z systemem Android Ostrzeżenie o ostrzeżeniu
Co to oznacza?
Otrzymuję ostrzeżenie jako "[Dostępność] Brakujące atrybut contentDescription na obrazie" w celu wyświetlenia obrazu. podczas korzystania z android lintaZawartość Lint z systemem Android Ostrzeżenie o ostrzeżeniu
Co to oznacza?
Rozwiązano to ostrzeżenie poprzez ustawienie atrybutu android:contentDescription
dla mojego ImageView
android:contentDescription="@string/desc"
wsparcie Android Lint w ADT 16 zgłasza to ostrzeżenie, aby upewnić się, że wzory graficzne zapewniają content Opis.
Definiuje tekst, który krótko opisuje treść widoku. Ta właściwość jest używana przede wszystkim w celu ułatwienia dostępu. Ponieważ niektóre widoki nie mają reprezentacji tekstowej, ten atrybut może być użyty do zapewnienia takich atrybutów.
Widoki nietekstowe, takie jak ImageViews i ImageButtons, powinny używać atrybutu contentDescription do określenia tekstowego opisu widgetu, tak aby czytniki ekranu i inne narzędzia ułatwień dostępu mogły odpowiednio opisywać interfejs użytkownika.
możesz przeczytać więcej na ten temat i przetestować go samodzielnie, przechodząc do: http://android-developers.blogspot.com/2012/04/accessibility-are-you-serving-all-your. html i http://developer.android.com/guide/topics/ui/accessibility/apps.html#test –
Ponieważ jest to tylko ostrzeżenie, można je ukryć. Przejdź do XML układem graficznym i zrobić to:
kliknij prawym górnym rogu czerwonego przycisku
Wybierz "Wyłącz Rodzaj Issue" (na przykład)
To prawda, że możesz ją ukryć, ale prawdopodobnie powinieneś zastosować się do rady wybranej odpowiedzi, ze względu na użytkownicy, którzy korzystają z narzędzi ułatwień dostępu dostępnych w systemie Android. –
To jest to !!! Tego właśnie szukałem. Ta odpowiedź i odpowiedź @Gunnara Bernsteina dotarły do mnie. – IronBlossom
Kolejna operacja cja jest tłumić ostrzeżenie indywidualnie:
xmlns:tools="http://schemas.android.com/tools" (usually inserted automatically)
tools:ignore="contentDescription"
Przykład:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:ignore="contentDescription" >
<ImageView
android:layout_width="50dp"
android:layout_height="match_parent"
android:adjustViewBounds="true"
android:padding="5dp"
android:src="@drawable/icon" />
Niepoprawnie - dodawanie narzędzi: ignore = "contentDescription" do RelativeLayout doprowadziło do błędu kompilacji "Atrybutowi brakuje prefiksu przestrzeni nazw Androida" –
To jest problem z zaćmieniem. Po prostu oczyść swój projekt. I upewnij się, że: xmlns: tools = "http://schemas.android.com/tools" jest również dołączony! –
Wyłączanie ostrzeżenia Lint będzie łatwo Ci w kłopoty później. Lepiej jest po prostu określić contentDescription dla wszystkich swoich ImageViews. Jeśli nie potrzebują opisu, a potem po prostu użyć:
android:contentDescription="@null"
polecam Ci dodać content Opis.
android:contentDescription="@string/contentDescriptionXxxx"
, ale bądźmy realistami. Większość ludzi nie utrzymuje dosłowności w kwestii dostępności. Nadal, przy niewielkim wysiłku, możesz zaimplementować coś, co pomoże osobom z niepełnosprawnością.
<string name="contentDescriptionUseless">deco</string>
<string name="contentDescriptionAction">button de action</string>
<string name="contentDescriptionContent">image with data</string>
<string name="contentDescriptionUserContent">image from an other user</string>
.
Najważniejszą rzeczą niewidomych użytkownik musi wiedzieć, „Gdzie jest przycisk, który trzeba kliknąć, aby kontynuować”
Używaj contentDescriptionAction niczego klikalne.
użycie contentDescriptionContent na obraz z informacjami (wykres, textAsImage, ...)
użycie contentDescriptionUserContent do wszystkich treści pod warunkiem użytkownika.
używać contentDescriptionUseless dla całej reszty.
Dzięki! Zawsze jest najlepszym wyborem, aby podać ten opis zamiast tłumienia ostrzeżenia. –
to jest takie irytujące ostrzeżenie - szczególnie dla obrazów, które są przeznaczone tylko dla stylu –
Zdefiniowałem to w strings.xml: ' ' a następnie użyłem 'android: contentDescription =" @ string/none "' –