آزمایش دسترسپذیری به شما امکان میدهد برنامه خود را از دیدگاه کاربر تجربه کنید و مشکلات قابلیت استفاده را پیدا کنید که ممکن است از دست بدهید. تست دسترسپذیری میتواند فرصتهایی را برای قدرتمندتر کردن و همهکارهتر کردن برنامه شما برای همه کاربران، از جمله افراد دارای معلولیت، نشان دهد.
برای دستیابی به بهترین نتایج، از تمام رویکردهای شرح داده شده در این سند استفاده کنید:
- آزمایش دستی: با استفاده از سرویسهای دسترسپذیری Android با برنامه خود تعامل داشته باشید.
- آزمایش با استفاده از ابزارهای تجزیه و تحلیل: از ابزارهایی برای کشف فرصت هایی برای بهبود دسترسی به برنامه خود استفاده کنید.
- تست خودکار: تست دسترسی را در اسپرسو و روبولکتریک روشن کنید.
- تست کاربر: از افرادی که با برنامه شما تعامل دارند بازخورد دریافت کنید.
تست دستی
تست دستی شما را در جایگاه کاربر قرار می دهد. اشیاء Android AccessibilityService
نحوه ارائه محتوای برنامه شما به کاربر و نحوه تعامل کاربر با محتوا را تغییر می دهند. با تعامل با برنامه خود با استفاده از سرویسهای دسترسپذیری، میتوانید برنامه خود را مانند کاربران تجربه کنید.
TalkBack
TalkBack صفحهخوان داخلی اندروید است. وقتی TalkBack روشن است، کاربران میتوانند بدون دیدن صفحه با دستگاه مجهز به Android خود تعامل داشته باشند. کاربرانی که دارای اختلالات بینایی هستند ممکن است برای استفاده از برنامه شما به TalkBack متکی باشند.
TalkBack را روشن کنید
- برنامه تنظیمات دستگاه خود را باز کنید.
- به Accessibility بروید و TalkBack را انتخاب کنید.
- در بالای صفحه TalkBack، روشن/خاموش را فشار دهید تا TalkBack روشن شود.
- در گفتگوی تأیید، برای تأیید مجوزها، تأیید را انتخاب کنید.
برنامه خود را با TalkBack کاوش کنید
هنگامی که TalkBack روشن است، دو راه متداول برای پیمایش وجود دارد:
- پیمایش خطی: به سرعت انگشت خود را به راست یا چپ بکشید تا به ترتیب عناصر صفحه را پیمایش کنید. برای انتخاب عنصر صفحه نمایش فعلی، روی هر جایی دو ضربه سریع بزنید.
- کاوش با ضربه زدن: انگشت خود را روی صفحه بکشید تا زیر انگشتتان را بشنوید. برای انتخاب عنصر فعلی، روی هر جایی دو ضربه سریع بزنید.
برای کاوش برنامه خود با TalkBack، این مراحل را کامل کنید:
- برنامه خود را باز کنید
- انگشت خود را به ترتیب در میان هر عنصر بکشید.
در حین پیمایش، به دنبال مشکلات زیر باشید:
- آیا بازخورد گفتاری برای هر عنصر محتوا یا هدف آن را به درستی منتقل می کند؟ یاد بگیرید که چگونه برچسب های معنی دار بنویسید . * آیا اطلاعیه ها مختصر هستند یا بی جهت پرمخاطب هستند؟
- آیا می توانید گردش های اصلی را به راحتی تکمیل کنید؟
- آیا می توانید با کشیدن انگشت به هر عنصری برسید؟
- اگر هشدارها یا پیام های موقت دیگری ظاهر شوند، آیا با صدای بلند خوانده می شوند؟
برای اطلاعات و نکات بیشتر، به مستندات کاربر TalkBack مراجعه کنید.
اختیاری: تنظیمات برنامهنویس TalkBack
تنظیمات برنامهنویس TalkBack آزمایش برنامه خود را با TalkBack برای شما آسانتر میکند.
برای مشاهده یا تغییر تنظیمات برنامهنویس، این مراحل را کامل کنید:
- برنامه تنظیمات دستگاه خود را باز کنید.
- به Accessibility بروید و TalkBack را انتخاب کنید.
تنظیمات > تنظیمات پیشرفته > تنظیمات برنامه نویس را انتخاب کنید:
- سطح خروجی ورود به سیستم: VERBOSE را انتخاب کنید.
- نمایش خروجی گفتار: برای مشاهده خروجی گفتار TalkBack روی صفحه، این تنظیم را روشن کنید.
دسترسی سوئیچ
دسترسی سوئیچ به کاربران این امکان را میدهد تا با استفاده از سوئیچ به جای صفحه لمسی، با دستگاههای مجهز به اندروید تعامل داشته باشند. انواع مختلفی از سوئیچ ها وجود دارد: دستگاه های فناوری کمکی مانند دستگاه های فروخته شده توسط AbleNet، Enabling Devices، RJ Cooper یا Tecla*. کلیدهای صفحه کلید خارجی؛ یا دکمه ها این سرویس می تواند برای کاربرانی که دارای اختلالات حرکتی هستند مفید باشد.
* گوگل این شرکت ها یا محصولات آنها را تایید نمی کند.
دسترسی سوئیچ را روشن کنید
یکی از راههای پیکربندی دسترسی سوئیچ، استفاده از دو سوئیچ است. یک سوئیچ به عنوان سوئیچ "بعدی" تعیین می شود و فوکوس را در اطراف صفحه حرکت می دهد و سوئیچ دوم "انتخاب" عنصر متمرکز را انتخاب می کند. برای استفاده از این روش دو سوئیچ، می توانید از هر جفت کلید سخت افزاری استفاده کنید.
برای راه اندازی Switch Access با استفاده از کلید کاهش صدا به عنوان کلید «بعدی» و کلید افزایش صدا به عنوان کلید «انتخاب»، مراحل زیر را انجام دهید:
- مطمئن شوید TalkBack خاموش است.
- برنامه تنظیمات دستگاه خود را باز کنید.
- به Accessibility بروید و Switch Access و سپس Settings را انتخاب کنید.
- در صفحه تنظیمات برگزیده دسترسی سوئیچ، مطمئن شوید که اسکن خودکار خاموش است.
از کلید کاهش صدا به عنوان کلید «بعدی» خود استفاده کنید:
- روی Assign Keys for Scanning > Next ضربه بزنید.
- هنگامی که گفتگو باز شد، کلید کاهش صدا را فشار دهید. کادر گفتگو KEYCODE_VOLUME_DOWN را نشان می دهد.
- برای تایید و خروج از گفتگو، روی OK ضربه بزنید.
از کلید افزایش صدا به عنوان کلید «انتخاب» استفاده کنید:
- روی انتخاب ضربه بزنید.
- وقتی کادر گفتگو باز شد، کلید افزایش صدا را فشار دهید. گفتگو KEYCODE_VOLUME_UP را نشان می دهد.
- برای تایید و خروج از گفتگو، روی OK ضربه بزنید.
با ضربه زدن روی دکمه برگشت به تنظیمات دسترسی سوئیچ بازگردید.
اختیاری: اگر از TalkBack 5.1 یا جدیدتر استفاده میکنید، میتوانید بازخورد گفتاری را برای فعال کردن بازخورد گفتاری انتخاب کنید.
با ضربه زدن روی دکمه برگشت به صفحه اصلی دسترسی سوئیچ بازگردید.
در بالای صفحه دسترسی سوئیچ، روشن/خاموش را فشار دهید تا دسترسی سوئیچ روشن شود.
در گفتگوی تأیید، برای تأیید مجوزها، تأیید را انتخاب کنید.
برنامه خود را با استفاده از دسترسی سوئیچ کاوش کنید
برای کاوش برنامه خود با دسترسی سوئیچ، این مراحل را کامل کنید:
- برنامه خود را باز کنید
- با فشار دادن کلید «بعدی» (دکمه کاهش صدا) اسکن را شروع کنید.
- به فشار دادن «بعدی» ادامه دهید تا به موردی که میخواهید انتخاب کنید برسید.
- با فشار دادن کلید "انتخاب" (دکمه افزایش صدا) مورد برجسته شده را انتخاب کنید.
در حین پیمایش، به دنبال مشکلات زیر باشید:
- آیا می توانید گردش های اصلی را به راحتی تکمیل کنید؟
- اگر متن یا ورودی های دیگری دارید، آیا می توانید به راحتی محتوا را اضافه و ویرایش کنید؟
- آیا موارد فقط در صورتی برجسته می شوند که بتوانید یک عمل را با آنها انجام دهید؟
- آیا هر مورد فقط یک بار برجسته می شود؟
- آیا همه عملکردهایی که از طریق حرکات صفحه لمسی در دسترس هستند به عنوان کنترل های قابل انتخاب یا اقدامات سفارشی در دسترسی سوئیچ نیز در دسترس هستند؟
- اگر از TalkBack 5.1 یا جدیدتر استفاده میکنید و بازخورد گفتاری را فعال کردهاید، آیا بازخورد گفتاری برای هر عنصر محتوا یا هدف آن را به درستی منتقل میکند؟ یاد بگیرید که چگونه برچسب های معنی دار بنویسید .
اختیاری: از انتخاب گروه برای دیدن همه موارد قابل اسکن استفاده کنید
انتخاب گروه یک روش پیمایش دسترسی سوئیچ است که به شما امکان می دهد همه موارد قابل اسکن را به طور همزمان مشاهده کنید. این گزینه به شما امکان می دهد بررسی سریعی انجام دهید تا ببینید آیا عناصر صحیح روی صفحه برجسته شده اند یا خیر.
برای روشن کردن انتخاب گروه، این مراحل را کامل کنید:
- برنامه تنظیمات دستگاه خود را باز کنید.
- به Accessibility بروید و Switch Access و سپس Settings را انتخاب کنید.
- در صفحه تنظیمات برگزیده دسترسی سوئیچ، مطمئن شوید که اسکن خودکار خاموش است.
- روش اسکن > انتخاب گروه را انتخاب کنید.
- روی اختصاص سوئیچها برای اسکن ضربه بزنید.
- مطمئن شوید که متن زیر سوئیچ انتخاب گروه 1 و سوئیچ انتخاب گروه 2 نشان می دهد که یک سوئیچ به هر کدام اختصاص داده شده است. اگر مراحل این سند را برای روشن کردن دسترسی سوئیچ دنبال کنید، دکمههای میزان صدا قبلاً اختصاص داده شدهاند.
برای کاوش برنامه خود با دسترسی سوئیچ با استفاده از انتخاب گروه، این مراحل را کامل کنید:
کلید "انتخاب" (دکمه افزایش صدا) را فشار دهید تا همه موارد قابل عمل در صفحه فعلی برجسته شوند. به دنبال مسائل زیر باشید:
- آیا فقط موارد عملی برجسته می شوند؟
- آیا همه موارد عملی برجسته شده اند؟
- آیا تراکم موارد برجسته شده منطقی است؟
برای پاک کردن هایلایت به صفحه دیگری بروید.
برای کسب اطلاعات بیشتر درباره نحوه پیمایش کاربران با انتخاب گروه، به نکاتی برای استفاده از دسترسی سوئیچ مراجعه کنید.
دسترسی صوتی
دسترسی صوتی به کاربران این امکان را می دهد که یک دستگاه مجهز به اندروید را با دستورات گفتاری کنترل کنند. دسترسی صوتی در دستگاههای دارای Android نسخه 5.0 (سطح API 21) و بالاتر در دسترس است. برای آزمایش برنامه خود با Voice Access، با نحوه شروع به کار با Voice Access آشنا شوید.
تست با استفاده از ابزار تحلیل
ابزارهای تجزیه و تحلیل می توانند فرصت هایی را برای بهبود دسترسی پیدا کنند که ممکن است با آزمایش دستی از دست بدهید.
نوشتن بررسی UI
حالت بررسی رابط کاربری نوشتن را فعال کنید در پیشنمایش نوشتن، Android Studio را قادر میسازد تا بهطور خودکار رابط کاربری Compose شما را برای مشکلات دسترسی بررسی کند. Android Studio بررسی میکند که رابط کاربری شما در اندازههای مختلف صفحه با برجسته کردن مسائلی مانند متن کشیده شده در صفحههای بزرگ یا کنتراست کم رنگ در پانل مشکلات، بررسی میکند.
اسکنر دسترسی
برنامه Accessibility Scanner صفحه شما را اسکن می کند و راه هایی را برای بهبود دسترسی به برنامه شما پیشنهاد می کند. اسکنر دسترسپذیری از چارچوب تست دسترسپذیری استفاده میکند و پس از مشاهده برچسبهای محتوا، موارد قابل کلیک، کنتراست و موارد دیگر، پیشنهادات خاصی را ارائه میکند.
چارچوب تست دسترسپذیری Android در Android Studio ادغام شده است تا به شما کمک کند مشکلات دسترسی را در طرحبندیهای خود پیدا کنید. برای راه اندازی پانل، روی دکمه گزارش خطا کلیک کنید ! در ویرایشگر طرح بندی
شکل 1. نسخه ی نمایشی اسکنر دسترسی.
برای کسب اطلاعات بیشتر به منابع زیر مراجعه کنید:
گزارش پیش از راه اندازی در Google Play
اگر برنامه خود را در Google Play توزیع کنید، به گزارش پیش از راه اندازی برنامه خود دسترسی خواهید داشت. Google Play این گزارش را مدت کوتاهی پس از آپلود یک برنامه در کانال انتشار با استفاده از کنسول Google Play ایجاد میکند. گزارش پیش از راهاندازی، که در کنسول Google Play نیز موجود است، نتایج آزمایشهایی را که Google Play روی برنامه شما انجام میدهد نمایش میدهد.
به ویژه، Google Play با استفاده از چارچوب تست دسترسپذیری، آزمایشهای دسترسی را اجرا میکند. نتایج این آزمایشها در جدولی در برگه دسترسپذیری گزارش پیش از راهاندازی برنامه شما ظاهر میشود.
جدول فرصت های بهبود را در دسته های زیر سازماندهی می کند:
- اندازه هدف را لمس کنید
- عناصر تعاملی در برنامه شما که دارای ناحیه قابل فوکوس یا اندازه هدف لمسی هستند که کوچکتر از مقدار توصیه شده است.
- کنتراست کم
- مواردی که جفت رنگ مورد استفاده برای یک عنصر متنی و پسزمینه پشت آن عنصر نسبت کنتراست رنگ کمتری نسبت به توصیهشده دارد.
- برچسب گذاری محتوا
- عناصر رابط کاربری که برچسبی برای توصیف هدف عناصر ندارند.
- پیاده سازی
- ویژگی های اختصاص داده شده به عناصر رابط کاربری که تفسیر صحیح عناصر را برای سرویس های دسترسی سیستم دشوارتر می کند. مثالها عبارتند از تعریف توصیف برای برچسب
View
قابل ویرایش و استفاده از ترتیب پیمایش عنصر که با آرایش منطقی عناصر مطابقت ندارد.
در ادامه جدول، گزارش پیش از راهاندازی تصاویری از برنامه شما را نشان میدهد. این عکسهای فوری بهترین فرصتها برای بهبود دسترسی به برنامه شما در هر دسته را نشان میدهند. برای مشاهده جزئیات بیشتر، از جمله بهبود پیشنهادی و فهرست کاملتری از مکانهای برنامه خود که میتوانید همان بهبود را در آنها اعمال کنید، یک اسکرین شات انتخاب کنید.
شکل 2 نمونه ای از جدولی را نشان می دهد که در برگه دسترسی یک گزارش پیش از راه اندازی در Google Play ظاهر می شود. این شکل همچنین شامل یکی از عکس های فوری برنامه است که نشان می دهد دکمه Next دارای اندازه هدف لمسی است که کوچکتر از اندازه توصیه شده است.
UI Automator Viewer
ابزار uiautomatorviewer
یک رابط کاربری گرافیکی مناسب برای اسکن و تجزیه و تحلیل اجزای رابط کاربری که در حال حاضر در یک دستگاه مجهز به اندروید نمایش داده می شوند، فراهم می کند. میتوانید از UI Automator برای بررسی سلسلهمراتب طرحبندی و مشاهده ویژگیهای اجزای رابط کاربری که در پیشزمینه دستگاه قابل مشاهده هستند استفاده کنید. این اطلاعات به شما امکان میدهد تستهای دقیقتری را ایجاد کنید، به عنوان مثال با ایجاد یک انتخابگر UI که با یک ویژگی قابل مشاهده خاص مطابقت دارد. این ابزار در فهرست tools
Android SDK قرار دارد.
در تست دسترسپذیری، این ابزار برای اشکالزدایی مشکلاتی که با استفاده از روشهای تست دیگر یافت میشوند مفید است. به عنوان مثال، اگر آزمایش دستی نشان داد که یک نما متن قابل گفتن مورد نیاز را ندارد یا یک نما فوکوس را دریافت می کند در حالی که نباید، می توانید از این ابزار برای کمک به پیدا کردن منبع مشکل استفاده کنید.
برای کسب اطلاعات بیشتر درباره UI Automator Viewer، به نوشتن تستهای خودکار با UI Automator مراجعه کنید.
لینت
Android Studio هشدارهای پرز را برای مسائل مختلف دسترسی نشان می دهد و پیوندهایی را به مکان های مربوطه در کد منبع شما ارائه می دهد. در مثال زیر، یک تصویر فاقد ویژگی contentDescription
است. توضیحات محتوای گم شده به پیام زیر منجر می شود:
[Accessibility] Missing 'contentDescription' attribute on image
شکل 3 نمونه ای از نحوه نمایش این پیام در Android Studio را نشان می دهد:
تست خودکار
پلتفرم اندروید از چندین چارچوب آزمایشی مانند Espresso پشتیبانی میکند که به شما امکان میدهد تستهای خودکاری را ایجاد و اجرا کنید که دسترسی به برنامه شما را ارزیابی میکند.
اسپرسو
اسپرسو یک کتابخانه تست اندروید است که برای انجام تست UI سریع و آسان طراحی شده است. این به شما امکان میدهد با مؤلفههای UI تحت آزمایش در برنامه خود تعامل داشته باشید و ادعا کنید که رفتارهای خاصی رخ میدهد یا شرایط خاصی برآورده شده است.
برای مشاهده نمای کلی تست دسترسی با اسپرسو، ویدیوی زیر را از دقیقه 31:54 تا 34:19 تماشا کنید: طراحی و آزمایش فراگیر: در دسترستر کردن برنامه شما - Google I/O 2016 .
این بخش نحوه اجرای بررسی های دسترسی با استفاده از اسپرسو را شرح می دهد.
فعال کردن چک ها
با استفاده از کلاس AccessibilityChecks
میتوانید تست دسترسی را فعال و پیکربندی کنید:
import androidx.test.espresso.accessibility.AccessibilityChecks @RunWith(AndroidJUnit4::class) @LargeTest class MyWelcomeWorkflowIntegrationTest { init { AccessibilityChecks.enable() } }
import androidx.test.espresso.accessibility.AccessibilityChecks; @RunWith(AndroidJUnit4.class) @LargeTest public class MyWelcomeWorkflowIntegrationTest { @BeforeClass public void enableAccessibilityChecks() { AccessibilityChecks.enable(); } }
بهطور پیشفرض، بررسیها زمانی انجام میشوند که هر گونه عملکرد view تعریف شده در ViewActions
را انجام میدهید. هر بررسی شامل نمایه ای است که عمل بر روی آن انجام می شود و همچنین تمام نماهای فرعی. همانطور که در قطعه کد زیر نشان داده شده است، می توانید کل سلسله مراتب نمای یک صفحه را در طول هر بررسی با ارسال true
به setRunChecksFromRootView()
ارزیابی کنید:
AccessibilityChecks.enable().setRunChecksFromRootView(true)
AccessibilityChecks.enable().setRunChecksFromRootView(true);
زیرمجموعه های نتایج را سرکوب کنید
پس از اینکه Espresso بررسی های دسترسی را روی برنامه شما انجام داد، ممکن است چندین فرصت برای بهبود دسترسی به برنامه خود پیدا کنید که نمی توانید فوراً به آنها رسیدگی کنید. به منظور جلوگیری از شکست مداوم تست های اسپرسو به دلیل این نتایج، می توانید به طور موقت آنها را نادیده بگیرید. چارچوب تست دسترسپذیری (ATF) این قابلیت را با استفاده از متد setSuppressingResultMatcher()
فراهم میکند که به Espresso دستور میدهد تمام نتایجی را که عبارت تطبیق داده شده را برآورده میکنند، سرکوب کند.
وقتی تغییراتی در برنامه خود ایجاد میکنید که به یک جنبه از دسترسپذیری میپردازد، برای اسپرسو سودمند است که نتایج را برای بسیاری از جنبههای دسترسی تا حد ممکن نشان دهد. به همین دلیل، بهتر است فقط فرصتهای خاص شناخته شده برای بهبود را سرکوب کنید.
هنگامی که به طور موقت یافته های تست دسترسی را که می خواهید بعداً به آنها رسیدگی کنید، سرکوب می کنید، مهم است که به طور تصادفی یافته های مشابه را سرکوب نکنید. به همین دلیل، از تطبیقهایی استفاده کنید که محدوده محدودی دارند. برای انجام این کار، یک تطابق را انتخاب کنید تا اسپرسو تنها در صورتی نتیجه معین را متوقف کند که هر یک از بررسی های دسترسی زیر را برآورده کند:
- بررسیهای دسترسپذیری از نوع خاصی، مانند آنهایی که اندازه هدف لمسی را بررسی میکنند.
- بررسیهای دسترسپذیری که یک عنصر رابط کاربری خاص، مانند یک دکمه را ارزیابی میکند.
ATF چندین تطبیق تعریف می کند تا به شما کمک کند تا مشخص کنید کدام نتایج در تست های اسپرسو شما نمایش داده می شود. مثال زیر نتایج بررسیهایی را که به کنتراست رنگ یک عنصر TextView
مربوط میشوند، سرکوب میکند. شناسه عنصر countTV
است.
AccessibilityChecks.enable().apply { setSuppressingResultMatcher( allOf( matchesCheck(TextContrastCheck::class.java), matchesViews(withId(R.id.countTV)) ) ) }
AccessibilityValidator myChecksValidator = AccessibilityChecks.enable() .setSuppressingResultMatcher( allOf( matchesCheck(TextContrastCheck.class), matchesViews(withId(R.id.countTV))));
تست کاربر
همراه با روشهای تست دیگر در این راهنما، تست کاربر میتواند بینشهای خاص و ارزشمندی در مورد قابلیت استفاده از برنامه شما ارائه دهد.
برای یافتن کاربرانی که می توانند برنامه شما را آزمایش کنند، از روش هایی مانند موارد زیر استفاده کنید:
- با سازمانها، کالجها یا دانشگاههای محلی که به افراد دارای معلولیت آموزش میدهند، تماس بگیرید.
- از حلقه اجتماعی خود بپرسید. ممکن است افراد معلولی وجود داشته باشند که مایل به کمک باشند.
- از یک سرویس تست کاربر، مانند usertesting.com بپرسید که آیا میتواند برنامه شما را آزمایش کند و شامل کاربران معلول شود.
- به یک تالار گفتمان دسترسی مانند Accessible بپیوندید و از داوطلبان بخواهید که برنامه شما را امتحان کنند.
برای راهنماییهای بیشتر، بخش تست کاربر ویدیوی زیر را از دقیقه 31:10 تا 44:51 تماشا کنید: پشت صحنه: ویژگیهای جدید در دسترسپذیری اندروید - Google I/O 2016 .