תוויות לתיאור התוכן

משתמשים של שירותי נגישות, כמו קוראי מסך, מסתמכים על תוויות לתיאור התוכן כדי להבין את המשמעות של אלמנטים בממשק.

במקרים מסוימים, למשל כשהמידע מועבר בצורה גרפית בתוך אלמנט, התוויות לתיאור התוכן יכולות לספק תיאור טקסטואלי של המשמעות או הפעולה שמשויכות לאלמנט.

אם לא מספקים תוויות לתיאור התוכן באלמנטים בממשק המשתמש, למשתמשים מסוימים יהיה קשה להבין את המידע שמוצג להם או לבצע פעולות בממשק.

הטמעה

View

כשנעשה שימוש בסוגים מסוימים של Views בממשק, צריך לספק תוויות לתיאור המטרה או הפעולה שמשויכות לאותה View.

איך מספקים תוויות לתיאור התוכן

android:contentDescription

כשמשתמשים ב-ImageView‏, ImageButton‏, CheckBox או בסוג אחר של View שמציג מידע באופן גרפי, צריך להשתמש במאפיין android:contentDescription כדי לספק תווית לתיאור התוכן לאותה View.

לפעמים התווית לתיאור התוכן תלויה במידע שזמין רק בזמן ריצה, או שמשמעות ה-View עשויה להשתנות לאורך הזמן. לדוגמה, כשמפעילים מוזיקה, יכול להיות שלחצן ההפעלה ישתנה ללחצן ההשהיה. במקרים כאלה צריך להשתמש ב-View#setContentDescription(CharSequence contentDescription) כדי לעדכן את התווית לתיאור התוכן בזמן המתאים.

בדרך כלל, כששירות נגישות מתאר ViewGroup, הוא משלב תוויות לתיאור התוכן מהצאצאים של ה-View שלו. כדי לשנות את ההתנהגות הזו ולציין שאתם רוצים לספק תיאור משלכם לאותו פריט ולצאצאים שלו מסוג View שלא ניתנים למיקוד, צריך להגדיר contentDescription ל-ViewGroup. יכול להיות שתצטרכו לכלול תוויות לתיאור התוכן מצאצאים של Views בתוך contentDescription שמוגדר ב-ViewGroup.

android:hint

ל-EditTexts או TextViews, שניתנים לעריכה, צריך להשתמש במאפיין android:hint כדי לציין את מטרת שדה הטקסט. אסור להשתמש ב-android:contentDescription כתוויות לתיאור התוכן עבור Views שניתנות לעריכה.

android:labelFor

צריך להשתמש במאפיין android:labelFor כדי לציין ש-View צריכה לשמש כתווית לתיאור התוכן עבור View אחרת.

מקרים שלא צריך בהם תוויות לתיאור התוכן

במקרים מסוימים, לא צריך לספק תוויות לתיאור התוכן:

  • טקסט שמעובד ב-TextView (או במחלקות המשנה שלו) מסופק אוטומטית לשירותי נגישות. בדרך כלל לא צריך תוויות נוספות לתיאור התוכן.
  • לא צריך תוויות לתיאור התוכן בתמונות דקורטיביות או בתמונות שלא מציגות מידע משמעותי מבחינה גרפית. במקרים כאלה, צריך להגדיר מאפיין android:contentDescription כ-"@null" או מאפיין android:importantForAccessibility כ-"no".

למידע נוסף, אפשר לקרוא על יישום תוויות לתיאור תוכן בהדרכות למפתחי Android ובמדריכי API.

פיתוח נייטיב

כשמשתמשים בסוגים מסוימים של תכנים קומפוזביליים בממשק, צריך לספק תוויות לתיאור המטרה או הפעולה שמשויכת לאותו תוכן קומפוזבילי.

איך מספקים תוויות לתיאור התוכן

תיאורי תוכן

כדי לספק תווית לתיאור התוכן ל-Image‏, Icon או תוכן קומפוזבילי אחר ברמה נמוכה שמעביר מידע גרפי, צריך להגדיר את תיאור התוכן.

  • התווית לתיאור התוכן עשויה להיות תלויה במידע על זמן ההפעלה, לכן המשמעות של התוכן הקומפוזבילי עשויה להשתנות. לדוגמה, כשמשמיעים מוזיקה, לחצן ההפעלה עשוי להשתנות ללחצן השהיה.
  • במקרים מסוימים, יכול להיות שתרצו למזג אלמנטים לאלמנט אחד שניתן למיקוד ושמשלב את התוויות לתיאור התוכן מהאלמנטים הצאצאים שלו. איך ממזגים אלמנטים

פרמטר של תווית

חלק מהתכנים הקומפוזביליים, כמו TextField, תומכים בפרמטר אופציונלי של label. כשהתווית מוגדרת, האלמנט מציג את התוכן הקומפוזבילי שהועבר ל-label. אפשר להשתמש בשירותי נגישות כדי לתאר את התוכן הקומפוזבילי.

מקרים שלא צריך בהם תוויות לתיאור התוכן

במקרים מסוימים, לא צריך להוסיף תוויות לתיאור התוכן:

  • טקסט שמעובד ב-Text, או תכנים קומפוזביליים אחרים שמכילים Text, מסופקים ישירות לשירותי נגישות.
  • תמונות דקורטיביות או תמונות שלא מציגות מידע משמעותי מבחינה גרפית.
    • במקרים כאלה, צריך להגדיר את הפרמטר contentDescription או את המאפיין Modifier.semantics#contentDescription כ-null או לבצע קריאה ל-Modifier#clearAndSetSemantics.

עיצוב

כשמעצבים ממשק משתמש, חשוב לשקול איך ליצור תוויות לתיאור תוכן שמיוצג באופן גרפי, עבור המשתמשים של שירותי הנגישות. את התוויות לתיאור התוכן צריך ליצור בהתאם לעקרונות האלה:

  • לכלול תיאור תמציתי וברור של המשמעות או הפעולה שמשויכות לאלמנט.
  • לא לכלול את הסוג או המצב של האלמנט בתווית לתיאור התוכן שלו.
  • אם האלמנט משויך לפעולה, צריך לתאר את הפעולה, לא את הייצוג הגרפי שלה.
  • לא להנחות את המשתמשים איך לבצע אינטראקציה ספציפית עם האלמנט.

למידע נוסף, אפשר לעיין בהנחיות כתיבה לנגישות ב-Material Design.

בדיקה

כדי לאמת באופן ידני שבממשק המשתמש של אפליקציה לא חסרות תוויות לתיאור התוכן:

  1. מפעילים את TalkBack.
  2. נכנסים לאפליקציה.
  3. משתמשים בתנועות ניווט לינאריות כדי להעביר את המיקוד של שירות הנגישות לכל אחד מהאלמנטים במסך.
  4. אם TalkBack מתמקד באלמנט מסוים אבל לא מבטא בקול ייצוג משמעותי של האלמנט הזה, או מבטא הודעה שלא כתובה בתווית, יכול להיות שחסרה לאלמנט תווית לתיאור התוכן.

כלי הבדיקה האוטומטיים של Android יכולים לזהות מקרים שבהם חסרות תוויות לתיאור התוכן. כדי לבדוק את האפליקציה במכשיר באופן ידני, כדאי להשתמש ב-Accessibility Scanner ל-Android. כדי להשתמש בבדיקות אוטומטיות, יש להפעיל את בדיקות הנגישות ב-Espresso וב-Robolectric.

חיפוש
ניקוי החיפוש
סגירת החיפוש
התפריט הראשי
9679694161126488692
true
חיפוש במרכז העזרה
true
true
true
true
true
717068
false
false