במדריך הזה מפורטות שיטות מומלצות לשיפור הנגישות ב-Android TV, ומופיעות המלצות לאפליקציות מובנות ולאפליקציות שאינן מובנות.
למה נגישות חשובה לאפליקציית הטלוויזיה שלי?
לקויות ראייה הן תופעה נפוצה בקרב צופים בטלוויזיה. לפי הערכות של ארגון הבריאות העולמי (WHO), ל-2.2 מיליארד אנשים ברחבי העולם יש ליקויי ראייה, ולכ-32 מיליון מבוגרים בארה"ב יש אובדן ראייה משמעותי (National Health Interview Survey, 2018). באירופה, לפי הערכות של EBU, 30 מיליון אנשים מושפעים מהשינויים.
משתמשים לקויי ראייה נהנים ממדיה בדיוק כמו משתמשים עם ראייה תקינה. בסקר של Comcast משנת 2017 נמצא ש-96% מהאנשים צופים בטלוויזיה (81% צופים יותר משעה ביום). עם זאת, 65% מהמשתמשים מדווחים על בעיות במציאת תוכן. בנוסף, 80% מהאנשים עם מוגבלויות בסקר בבריטניה דיווחו על בעיות בסטרימינג.
טכנולוגיות מסייעות יכולות לעזור, אבל אפליקציות לטלוויזיה צריכות לתמוך בנגישות לגילוי תוכן. חשוב לשים לב במיוחד להנחיות הניווט ולתוויות של האלמנטים. חשוב לוודא תאימות לתכונות כמו TalkBack כדי לשפר באופן משמעותי את החוויה של משתמשים עם ליקויי ראייה.
השלב הראשון בשיפור הנגישות הוא מודעות. המדריך הזה יכול לעזור לכם ולצוות שלכם לגלות בעיות נגישות באפליקציית הטלוויזיה שלכם.
מקורות מידע בנושא נגישות ב-Android
מידע נוסף על נגישות ב-Android זמין במקורות המידע שלנו בנושא פיתוח נגישות.
שינוי גודל טקסט
אפליקציות ל-Android TV צריכות להתחשב בהעדפות המשתמשים לגבי שינוי גודל הטקסט על ידי תמיכה בדחיסויות פיקסלים שונות.
חשוב לשים לב במיוחד לנקודות הבאות:
- משתמשים ב-
wrap_contentלמאפיינים ברכיבי ממשק משתמש. - מוודאים שהפריסות מסדרות מחדש את הרכיבים כשהמידות שלהם משתנות בהתאם לקנה המידה של הטקסט.
- חשוב לוודא שהרכיבים עדיין מתאימים למסך גם כשמשתמשים בהגדלות טקסט גדולות יותר.
- אל תשתמשו ביחידות גודל טקסט מסוג sp לרכיבים לא גמישים.
בודקים את הערך של
FONT_SCALEלהתאמה בתצוגות מותאמות אישית:// Checking font scale with Context val scale = resources.configuration.fontScale Log.d(TAG, "Text scale is: " + scale)
אפשר לשנות את קנה המידה של הטקסט באמצעות הפקודה הבאה:
adb shell settings put system font_scale 1.2f
ב-Android 12 ובגרסאות מתקדמות יותר, המשתמשים יכולים לשנות את קנה המידה של הטקסט בהגדרות המכשיר.
פריסות מקלדת
ב-Android 13 (רמת API 33) ומעלה, אפשר להשתמש ב-getKeyCodeForKeyLocation() כדי לחפש את קודי המקשים למיקומי מקשים צפויים.
יכול להיות שיהיה צורך בכך אם המשתמש מיפה מחדש מיקומים של מקשים מסוימים, או אם הוא משתמש במקלדת עם פריסה לא רגילה.
התיאור הקולי
ב-Android 13 (רמת API 33) ומעלה, העדפה חדשה של נגישות ברמת המערכת מאפשרת למשתמשים להפעיל תיאורים קוליים בכל האפליקציות. אפליקציות ל-Android TV יכולות לבדוק את ההעדפה של המשתמש באמצעות שאילתה עם isAudioDescriptionRequested().
Kotlin
private lateinit var accessibilityManager: AccessibilityManager
// In onCreate():
accessibilityManager = getSystemService(AccessibilityManager::class.java)
// Where your media player is initialized
if (am.isAudioDescriptionRequested) {
// User has requested to enable audio descriptions
}
Java
private AccessibilityManager accessibilityManager;
// In onCreate():
accessibilityManager = getSystemService(AccessibilityManager.class);
// Where your media player is initialized
if(accessibilityManager.isAudioDescriptionRequested()) {
// User has requested to enable audio descriptions
}
אפליקציות ל-Android TV יכולות לעקוב אחרי שינויים בהעדפות המשתמשים על ידי הוספת listener ל-AccessibilityManager:
Kotlin
private val listener =
AccessibilityManager.AudioDescriptionRequestedChangeListener { enabled ->
// Preference changed; reflect its state in your media player
}
override fun onStart() {
super.onStart()
accessibilityManager.addAudioDescriptionRequestedChangeListener(mainExecutor, listener)
}
override fun onStop() {
super.onStop()
accessibilityManager.removeAudioDescriptionRequestedChangeListener(listener)
}
Java
private AccessibilityManager.AudioDescriptionRequestedChangeListener listener = enabled -> {
// Preference changed; reflect its state in your media player
};
@Override
protected void onStart() {
super.onStart();
accessibilityManager.addAudioDescriptionRequestedChangeListener(getMainExecutor(), listener);
}
@Override
protected void onStop() {
super.onStop();
accessibilityManager.removeAudioDescriptionRequestedChangeListener(listener);
}