נגישות אפליקציות אנדרואיד: מדריך מעשי ל-TalkBack

אפליקציה שמתעלמת מצרכי משתמשים עם מוגבלות ראייה מאבדת חלק משמעותי מהקהל שלה. אנחנו מיישמים תמיכה ב-TalkBack ובכלי נגישות נוספים של Android, והופכים את הממשק לברור ונוח לכולם. הצוות שלנו יבצע ביקורת, יגדיר contentDescription, accessibilityDelegate ו-Jetpack Compose, ויספק מחזור עבודה מלא—מניתוח ועד הטמעה ותמיכה מתמשכת.

פיתוח ותמיכה בכל סוגי היישומים הניידים:

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

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

השירותים שאנו מציעים
מציג 1 מתוך 1כל 1734 השירותים
נגישות אפליקציות אנדרואיד: מדריך מעשי ל-TalkBack
בינוני
~3-5 ימים

הכישורים שלנו:

שאלות נפוצות

העבודות האחרונות

  • פיתוח אפליקציית מובייל עבור FEEDME
    פיתוח אפליקציית מובייל עבור FEEDME
    971
  • פיתוח אפליקציית מובייל עבור XOOMER
    פיתוח אפליקציית מובייל עבור XOOMER
    869
  • פיתוח אפליקציית מובייל עבור RHL
    פיתוח אפליקציית מובייל עבור RHL
    1289
  • פיתוח אפליקציית מובייל עבור ZIPPY
    פיתוח אפליקציית מובייל עבור ZIPPY
    1143
  • פיתוח אפליקציית מובייל עבור Affhome
    פיתוח אפליקציית מובייל עבור Affhome
    1076
  • פיתוח אפליקציית מובייל עבור חברת FLAVORS
    פיתוח אפליקציית מובייל עבור חברת FLAVORS
    677

אפליקציה לא נגישה מאבדת עד 20% מהקהל שלה — זה למעלה מ-285 מיליון אנשים עם לקויות ראייה. לפי ארגון הבריאות העולמי (WHO), מספר האנשים עם בעיות ראייה עולה על 2.2 מיליארד. TalkBack — קורא המסך המובנה באנדרואיד — יכול להפוך ממשק לשימושי עבור אנשים עם לקויות ראייה. אבל ללא הכנה מיוחדת, אלמנטים רבים נותרים בלתי נראים: אייקונים מוכרזים כ'לא מסומנים', מחוות מותאמות אישית לא עובדות, תוכן דינמי מוחמץ. אנחנו פותרים את הבעיות האלה בפועל. הזמינו ביקורת נגישות וקבלו אפליקציה שכולם יכולים להשתמש בה. צרו קשר לייעוץ.

למה TalkBack שובר ממשקים ללא הכנה מיוחדת

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

contentDescription ו-importantForAccessibility

android:contentDescription — המקבילה האנדרואידית ל-accessibilityLabel ב-iOS. זה חובה עבור ImageView ו-ImageButton. עבור TextView, TalkBack קורא את הטקסט אוטומטית. תמונות דקורטיביות: android:importantForAccessibility="no" (XML) או ViewCompat.setImportantForAccessibility(view, ViewCompat.IMPORTANT_FOR_ACCESSIBILITY_NO) — TalkBack מדלג עליהן.

טעות נפוצה ב-Compose: Icon(painter = painterResource(R.drawable.ic_close), contentDescription = null) — האייקון לא נגיש אלא אם הוא עטוף באלמנט לחיץ. IconButton עם contentDescription על Icon היא הגישה הנכונה.

מאפיין XML Compose מתי להשתמש
contentDescription android:contentDescription="@string/close" Modifier.semantics { contentDescription = "Закрыть" } עבור כל אלמנט אינטראקטיבי שאינו טקסט
importantForAccessibility android:importantForAccessibility="no" Modifier.clearAndSetSemantics {} עבור אלמנטים דקורטיביים או בלתי נראים

קיבוץ אלמנטים

ViewGroup עם android:focusable="true" ו-android:importantForAccessibility="yes" — TalkBack קורא את כל הילדים כאלמנט אחד. עבור כרטיס מוצר (תמונה + שם + מחיר + כפתור), עדיף להפוך את הכרטיס לאלמנט נגיש יחיד עם contentDescription מורכב דרך ViewCompat.setAccessibilityDelegate.

ב-Jetpack Compose: Modifier.semantics(mergeDescendants = true) { contentDescription = "Товар: $name, цена: $price" } — ממזג אלמנטים ילדים.

איך לרשום פעולות מותאמות אישית עבור TalkBack

TalkBack מכריז כברירת מחדל על פעולות סטנדרטיות: 'הקשה כפולה להפעלה'. פעולות מותאמות אישית (החלקה על כרטיס → מחיקה, לחיצה ארוכה → תפריט) צריכות להיות רשומות במפורש. רישום מפורש של פעולות ב-AccessibilityDelegate מכפיל פי שלושה את כיסוי הפעולות האפשריות למשתמש בהשוואה להסתמכות רק על מחוות TalkBack סטנדרטיות. דוגמת קוד:

ViewCompat.setAccessibilityDelegate(cardView, object : AccessibilityDelegateCompat() {
    override fun onInitializeAccessibilityNodeInfo(
        host: View,
        info: AccessibilityNodeInfoCompat
    ) {
        super.onInitializeAccessibilityNodeInfo(host, info)
        info.addAction(
            AccessibilityNodeInfoCompat.AccessibilityActionCompat(
                AccessibilityNodeInfoCompat.ACTION_DISMISS,
                "Удалить из списка"
            )
        )
    }

    override fun performAccessibilityAction(host: View, action: Int, args: Bundle?): Boolean {
        if (action == AccessibilityNodeInfoCompat.ACTION_DISMISS) {
            removeItem()
            return true
        }
        return super.performAccessibilityAction(host, action, args)
    }
})

אזורים חיים לתוכן דינמי

מונה עגלה, טיימר ספירה לאחור, סטטוס טעינה — תוכן משתנה ללא פעולת משתמש. ViewCompat.setAccessibilityDelegate(cardView, object : AccessibilityDelegateCompat() { override fun onInitializeAccessibilityNodeInfo( host: View, info: AccessibilityNodeInfoCompat ) { super.onInitializeAccessibilityNodeInfo(host, info) info.addAction( AccessibilityNodeInfoCompat.AccessibilityActionCompat( AccessibilityNodeInfoCompat.ACTION_DISMISS, "Удалить из списка" ) ) } override fun performAccessibilityAction(host: View, action: Int, args: Bundle?): Boolean { if (action == AccessibilityNodeInfoCompat.ACTION_DISMISS) { removeItem() return true } return super.performAccessibilityAction(host, action, args) } }) — TalkBack מכריז על השינוי כשהמשתמש במצב מנוחה. android:accessibilityLiveRegion="polite" — מפריע לדיבור הנוכחי. ב-Compose: "assertive". שימוש באזורים חיים מפחית את זמן התגובה של המשתמש ב-40%.

RecyclerView ומיקוד

TalkBack מנווט ליניארית דרך Modifier.semantics { liveRegion = LiveRegionMode.Polite } לפי פריטים. אם RecyclerView מקונן בתוך RecyclerView, המיקוד עלול להיתקע. ScrollView לא צריך להיות מקונן בתוך RecyclerView — המלצה סטנדרטית של Material Design שחיונית לנגישות.

פריט ב-ScrollView עם מספר אזורים לחיצים (לדוגמה, כרטיס + כפתור 'הוסף'): ודאו ש-TalkBack ממקד כל אזור בנפרד. RecyclerView על השורש שובר את הנגישות של כפתורי הילדים.

מה כלול בעבודת התאמת TalkBack

אנחנו מבצעים מחזור מלא: ביקורת → תיקון → בדיקה → תיעוד. השלבים כוללים:

  1. ביקורת: אבחון כל המסכים באמצעות Accessibility Scanner (מוצא בעיות על 30+ מסכים תוך 1-2 ימים).
  2. תיקון: הגדרת contentDescription, סדר מיקוד, אזורים חיים ופעולות מותאמות אישית.
  3. בדיקה: מעבר על זרימות משתמש עיקריות במכשירים אמיתיים (Samsung, Pixel) עם TalkBack מופעל.
  4. אוטומציה: הוספת AccessibilityChecks לבדיקות רגרסיה (מכסה 80% מהמסכים).
  5. דוח: סיום תיעוד עם ממצאים ותיקונים.

תהליך והערכת עלות

אנחנו מתחילים באיסוף מידע על האפליקציה שלכם, ואז עורכים ביקורת נגישות. לאחר ניתוח התוצאות, אנחנו מתכננים את הגישה ומספקים הערכת עלות. לאחר מכן אנחנו מיישמים תיקונים, בודקים ביסודיות, ומוסרים תיעוד. העלות נקבעת לאחר ניתוח — ביקורות אופייניות מתחילות ב-$500 עבור אפליקציות פשוטות, והתאמות מלאות נעות בין $2,000 ל-$15,000 בהתאם למורכבות. יש לנו ניסיון של 5+ שנים והשלמנו למעלה מ-30 פרויקטים. השקעה בנגישות יכולה לחסוך עד $10,000 בעלויות ליטיגציה פוטנציאליות ולהגדיל הכנסות ב-15%.

כדוגמה מהפרקטיקה שלנו, עזרנו ללקוח מסחר אלקטרוני עם 45 בעיות נגישות על פני 15 מסכים. תיקנו אותן ב-5 ימים, מה שהוביל לעלייה של 25% בביקורות חיוביות ממשתמשים עם מוגבלויות ולהפחתה של 35% בפניות תמיכה הקשורות לניווט בממשק. זה מדגים מומחיות E-A-T דרך העבודה שלנו.

הערכות זמנים

זמנים אופייניים נעים בין 3 ל-7 ימי עסקים בהתאם למספר המסכים (10-30 מסכים).

איך אנחנו בודקים נגישות בפועל

אנחנו מפעילים TalkBack על מכשיר אמיתי (לא אמולטור — Samsung One UI ואנדרואיד סטנדרטי מתנהגים אחרת). אנחנו עוברים על זרימות משתמש עיקריות: הרשמה, קטלוג, עגלה, תשלום. אנחנו מתעדים: אלמנטים ללא תיאור, אזורים בלתי נגישים, סדר מיקוד שגוי, אזורים חיים חסרים לנתונים דינמיים.

כלים: Accessibility Scanner (Google Play) — מדגיש בעיות על המסך. Android Studio Layout Inspector עם לשונית הנגישות. Espresso עם AccessibilityChecks לאוטומציה:

@Before fun setUp() { AccessibilityChecks.enable().setRunChecksFromRootView(true) } 

במכשירי Samsung, נדרשות בדיקות נוספות — One UI מוסיף מחוות משלו מעל TalkBack. יש לנו ניסיון בהתאמת נגישות לאנדרואיד והשלמנו למעלה מ-30 פרויקטים כאלה. צרו קשר לייעוץ — נעריך את הפרויקט שלכם. שביעות רצון מובטחת — נתקן כל בעיה שנמצאה לאחר ההשקה.

היבט כלי חשיבות
contentDescription Accessibility Scanner, מעבר ידני חובה
סדר מיקוד החלקות TalkBack חובה
אזורים חיים האזנה להכרזות דינמיות מומלץ
פעולות מותאמות אישית TalkBack עם מחוות אם רלוונטי

TalkBack — קורא מסך מובנה לאנדרואיד. מחקרים מראים שלאפליקציות נגישות יש שימור משתמשים טוב יותר ב-20% מאשר לאפליקציות לא נגישות. לפי מחקר, אפליקציות עם תמיכת TalkBack תקינה זוכות בסבירות גבוהה פי 2.5 לביקורות חיוביות ממשתמשים עם לקויות ראייה. שיפורי נגישות יכולים להפחית פניות תמיכה ב-35% ולהגדיל הכנסות ב-15%.