تست فناوری کمکی

این ماژول بر استفاده از فناوری کمکی (AT) برای تست دسترسی تمرکز دارد. یک فرد دارای معلولیت می تواند از AT برای کمک به افزایش، حفظ یا بهبود قابلیت های انجام یک کار استفاده کند.

در فضای دیجیتال، AT ها می توانند:

  • بدون / با تکنولوژی پایین: میله های سر/دهانی، ذره بین های دستی، دستگاه هایی با دکمه های بزرگ
  • فناوری پیشرفته: دستگاه‌های فعال‌کننده صدا، دستگاه‌های ردیابی چشم، صفحه‌کلید/موش‌های تطبیقی
  • سخت‌افزار: دکمه‌های سوئیچ، صفحه‌کلیدهای ارگونومیک، دستگاه بریل با تازه‌سازی خودکار
  • نرم افزار: برنامه های تبدیل متن به گفتار، زیرنویس زنده، صفحه خوان

ما شما را تشویق می کنیم که از چندین نوع AT در گردش کار آزمایشی خود استفاده کنید.

اصول اولیه تست صفحه خوان

در این ماژول، ما بر روی یکی از محبوب ترین AT های دیجیتال، یعنی صفحه خوان ها تمرکز می کنیم. صفحه خوان نرم افزاری است که کدهای یک وب سایت یا اپلیکیشن را می خواند. سپس آن اطلاعات را به گفتار یا خروجی بریل برای کاربر تبدیل می کند.

صفحه‌خوان‌ها برای افرادی که نابینا و ناشنوا هستند ضروری است، اما می‌تواند برای افراد کم بینا، اختلالات خواندن یا ناتوانی‌های شناختی نیز مفید باشد.

سازگاری با مرورگر

چندین گزینه صفحه خوان موجود است. محبوب ترین صفحه خوان های امروزی JAWS، NVDA و VoiceOver برای رایانه های رومیزی و VoiceOver و Talkback برای دستگاه های تلفن همراه هستند.

بسته به سیستم عامل (OS)، مرورگر مورد علاقه و دستگاهی که استفاده می کنید، یک صفحه خوان ممکن است بهترین گزینه باشد. اکثر صفحه خوان ها با در نظر گرفتن سخت افزار و مرورگرهای وب خاص ساخته شده اند. وقتی از یک صفحه‌خوان با مرورگری که برای آن کالیبره نشده است استفاده می‌کنید، ممکن است با «اشکالات» یا رفتار غیرمنتظره‌ای بیشتری مواجه شوید. صفحه‌خوان‌ها وقتی در ترکیب‌های زیر استفاده می‌شوند بهترین کار را دارند.

صفحه خوان سیستم عامل سازگاری با مرورگر
دسترسی به شغل با گفتار (JAWS) پنجره ها کروم، فایرفاکس، اج
دسترسی غیر بصری دسکتاپ (NVDA) پنجره ها کروم و فایرفاکس
راوی پنجره ها حاشیه، غیرمتمرکز
صداگذاری سیستم عامل مک سافاری
اورکا لینوکس فایرفاکس
TalkBack اندروید کروم و فایرفاکس
VoiceOver (برای موبایل) iOS سافاری
ChromeVox ChromeOS کروم

دستورات صفحه خوان

هنگامی که نرم افزار صفحه خوان خود را برای دسکتاپ یا دستگاه تلفن همراه خود تنظیم کردید، باید به مستندات صفحه خوان (که در جدول قبل پیوند داده شده است) نگاه کنید و برخی از دستورات ضروری صفحه خوان را اجرا کنید تا با این فناوری آشنا شوید. اگر قبلاً از صفحه‌خوان استفاده کرده‌اید، یک صفحه‌خوان جدید را امتحان کنید!

هنگام استفاده از صفحه‌خوان برای تست دسترس‌پذیری، هدف شما شناسایی مشکلاتی در کدتان است که با استفاده از وب‌سایت یا برنامه‌تان تداخل دارد، نه شبیه‌سازی تجربه کاربر صفحه‌خوان. به این ترتیب، می‌توانید با دانش پایه، چند دستور صفحه‌خوان، و کمی یا تمرین زیاد، کارهای زیادی انجام دهید.

اگر نیاز به درک بیشتر تجربه کاربری افرادی دارید که از صفحه‌خوان‌ها و سایر ATها استفاده می‌کنند، می‌توانید با بسیاری از سازمان‌ها و افراد تعامل داشته باشید تا این بینش ارزشمند را به دست آورید. به یاد داشته باشید که استفاده از AT برای آزمایش کد در برابر مجموعه ای از قوانین و پرسش از کاربران در مورد تجربه آنها اغلب نتایج متفاوتی را به همراه دارد. هر دو جنبه مهم برای ایجاد محصولات کاملاً فراگیر هستند.

دستورات کلیدی برای صفحه خوان های دسکتاپ

عنصر NVDA (ویندوز) VoiceOver (macOS)
فرمان درج (کلید NVDA) کنترل + گزینه (کلید VO)
صدا را متوقف کنید کنترل کنترل
بعدی/قبلی را بخوانید ↓ یا ↑ VO + → یا ←
شروع به خواندن کنید NDVA + ↓ VO + A
فهرست عناصر/روتور NVDA + F7 VO + U
نقاط دیدنی دی VO + U
سرفصل ها اچ VO + Command + H
پیوندها ک VO + Command + L
کنترل های فرم اف VO + Command + J
جداول تی VO + Command + T
درون جداول NDVA + Alt + ↓ ↑ ← → VO + ↓ ↑ ← →

دستورات کلیدی برای صفحه‌خوان‌های موبایل

عنصر TalkBack (اندروید) VoiceOver (iOS)
کاوش کنید یک انگشت را دور صفحه بکشید یک انگشت را دور صفحه بکشید
را انتخاب یا فعال کنید دو تا ضربه ی آهسته بزن دو تا ضربه ی آهسته بزن
حرکت به بالا/پایین با دو انگشت به بالا یا پایین بکشید با سه انگشت به بالا یا پایین بکشید
تغییر صفحات با دو انگشت به چپ یا راست بکشید با سه انگشت به چپ/راست بکشید
بعدی/قبلی با یک انگشت به چپ/راست بکشید با یک انگشت به چپ/راست بکشید

نسخه ی نمایشی تست صفحه خوان

برای آزمایش نسخه ی نمایشی خود، از یک سافاری روی لپ تاپی که دارای MacOS است استفاده کردیم و صدا را ضبط کردیم. می‌توانید با استفاده از هر صفحه‌خوانی این مراحل را طی کنید، اما روشی که با برخی خطاها مواجه می‌شوید ممکن است با آنچه در این ماژول توضیح داده شده است متفاوت باشد.

مرحله 1

از CodePen به روز شده دیدن کنید، که تمام به روز رسانی های دسترسی خودکار و دستی را در آن اعمال شده است.

برای ادامه آزمایش‌های بعدی، آن را در حالت اشکال‌زدایی مشاهده کنید. این مهم است، زیرا <iframe> را که صفحه وب دمو را احاطه کرده است، حذف می کند، که ممکن است با برخی از ابزارهای آزمایش تداخل داشته باشد. درباره حالت اشکال زدایی CodePen بیشتر بیاموزید.

گام 2

صفحه خوان مورد نظر خود را فعال کنید و به صفحه نمایشی بروید. ممکن است قبل از تمرکز روی مسائل خاص، کل صفحه را از بالا به پایین مرور کنید.

ما صفحه‌خوان خود را برای هر مشکل، قبل و بعد از اعمال اصلاحات در نسخه نمایشی، ضبط کرده‌ایم. ما شما را تشویق می کنیم که نسخه ی نمایشی را با صفحه خوان خود اجرا کنید.

موضوع 1: ساختار محتوا

سرفصل ها و نشانه ها یکی از راه های اصلی پیمایش افراد با استفاده از صفحه خوان ها هستند. اگر اینها وجود نداشته باشند، کاربر صفحه خوان باید کل صفحه را بخواند تا زمینه را درک کند. این می تواند زمان زیادی را ببرد و باعث ناامیدی شود. اگر سعی کنید با هر یک از عناصر در نسخه نمایشی حرکت کنید، به سرعت متوجه خواهید شد که آنها وجود ندارند.

  • مثال برجسته: <div class="main">...</div>
  • مثال عنوان: <p class="h1">Join the Club</p>

اگر همه چیز را به درستی به روز کرده باشید، نباید هیچ تغییر بصری ایجاد شود، اما تجربه صفحه خوان شما به طرز چشمگیری بهبود یافته است.

به صفحه خوان گوش دهید که در این موضوع پیمایش می کند.
بیا درستش کنیم

برخی از عناصر غیرقابل دسترس را نمی توان تنها با نگاه کردن به سایت مشاهده کرد. ممکن است اهمیت سطوح عنوان و HTML معنایی را از ماژول ساختار محتوا به خاطر داشته باشید. یک قطعه محتوا ممکن است مانند یک عنوان به نظر برسد، اما محتوا در واقع در یک <div> سبک پیچیده شده است.

برای رفع مشکل سرفصل‌ها و نشانه‌ها، ابتدا باید هر عنصری را که باید به‌عنوان آن علامت‌گذاری شود شناسایی کنید و HTML مربوطه را به‌روزرسانی کنید. حتما CSS مربوطه را نیز آپدیت کنید.

مثال برجسته: <main>...</main>

مثال عنوان: <h1>Join the Club</h1>

اگر همه چیز را به درستی به روز کرده باشید، نباید هیچ تغییر بصری ایجاد شود، اما تجربه صفحه خوان شما به طرز چشمگیری بهبود یافته است.

اکنون که ساختار محتوا را اصلاح کرده‌ایم، دوباره به صفحه‌خوان گوش دهید که در نسخه نمایشی حرکت می‌کند.

مهم است که به کاربران صفحه‌خوان در مورد هدف یک پیوند و اینکه آیا پیوند آنها را به مکان جدیدی خارج از وب‌سایت یا برنامه هدایت می‌کند، محتوا بدهید.

در نسخه ی نمایشی خود، هنگام به روز رسانی متن جایگزین تصویر فعال، اکثر پیوندها را اصلاح کردیم، اما چند پیوند اضافی در مورد بیماری های نادر مختلف وجود دارد که می توانند از زمینه اضافی بهره مند شوند - به خصوص که آنها به مکان جدیدی هدایت می شوند.

<a href="https://rarediseases.org/rare-diseases/maple-syrup-urine-disease">
  Maple syrup urine disease (MSUD)
</a>
به صفحه خوان گوش دهید که در این موضوع پیمایش می کند.
بیا درستش کنیم

برای رفع این مشکل برای کاربران صفحه‌خوان، کد را به‌روزرسانی می‌کنیم تا اطلاعات بیشتری را بدون تأثیرگذاری بر عنصر بصری اضافه کنیم. یا، برای کمک به افراد بیشتری مانند افراد مبتلا به اختلالات خواندن و شناختی، ممکن است به جای آن متن بصری بیشتری اضافه کنیم.

الگوهای مختلفی وجود دارد که ممکن است برای افزودن اطلاعات پیوند اضافی در نظر بگیریم. بر اساس محیط ساده ما که فقط یک زبان را پشتیبانی می کند، یک برچسب ARIA در این شرایط یک گزینه ساده است. ممکن است متوجه شوید که برچسب ARIA متن پیوند اصلی را لغو می کند، بنابراین مطمئن شوید که این اطلاعات را در به روز رسانی خود قرار دهید.

<a href="https://rarediseases.org/rare-diseases/maple-syrup-urine-disease"
  aria-label="Learn more about Maple syrup urine disease on the Rare Diseases website.">
  Maple syrup urine disease (MSUD)
</a>
اکنون که زمینه پیوند را اصلاح کردیم، دوباره به صفحه خوان گوش دهید که در نسخه نمایشی حرکت می کند.

مسئله 3: تصویر تزئینی

در ماژول تست خودکار ما، Lighthouse نتوانست SVG درون خطی را که به عنوان تصویر اصلی در صفحه نمایشی ما عمل می کند انتخاب کند - اما صفحه خوان آن را پیدا کرده و بدون اطلاعات اضافی آن را به عنوان "تصویر" اعلام می کند. این درست است، حتی بدون افزودن صریح ویژگی role="img" به SVG.

<div class="section-right">
  <svg>...</svg>
</div>
به صفحه خوان گوش دهید که در این موضوع پیمایش می کند.
بیا درستش کنیم

برای رفع این مشکل، ابتدا باید تصمیم بگیریم که آیا تصویر آموزنده است یا تزئینی . بر اساس آن تصمیم، باید متن جایگزین تصویر مناسب (تصویر آموزنده) را اضافه کنیم یا تصویر را از دید کاربران صفحه‌خوان پنهان کنیم (تزیینی).

ما مزایا و معایب بهترین روش دسته‌بندی تصویر را سنجیدیم و به این نتیجه رسیدیم که تزئینی است، به این معنی که می‌خواهیم کد را اضافه یا تغییر دهیم تا تصویر را پنهان کنیم. یک روش سریع اضافه کردن یک role="presentation" مستقیم به تصویر SVG است. این یک سیگنال به صفحه‌خوان می‌فرستد تا از روی این تصویر بگذرد و آن را در گروه تصاویر فهرست نکند.

<div class="section-right">
  <svg role="presentation">...</svg>
</div>
اکنون که تصویر تزئینی را اصلاح کردیم، به صفحه خوان گوش دهید که در نسخه نمایشی حرکت می کند.

مسأله 4: تزیین گلوله

ممکن است متوجه شده باشید که صفحه خوان تصویر گلوله CSS را در بخش بیماری های نادر می خواند. اگرچه نوع سنتی تصویری که در ماژول Images مورد بحث قرار دادیم نیست، تصویر همچنان باید اصلاح شود زیرا جریان محتوا را مختل می‌کند و می‌تواند حواس کاربر صفحه‌خوان را منحرف کند یا گیج کند.

<p class="bullet">...</p>
به صفحه خوان گوش دهید که در این موضوع پیمایش می کند.
بیا درستش کنیم

دقیقاً مانند مثال تصویر تزئینی که قبلاً مورد بحث قرار گرفت، می‌توانید یک role="presentation" به HTML با کلاس bullet اضافه کنید تا آن را از صفحه‌خوان پنهان کنید. به طور مشابه، role="none" کار خواهد کرد. فقط مطمئن شوید که از aria-hidden: true استفاده نکنید یا تمام اطلاعات پاراگراف را از کاربران صفحه خوان پنهان خواهید کرد.

<p class="bullet" role="none">...</p>

مسئله 5: فیلد فرم

در ماژول Forms یاد گرفتیم که تمام فیلدهای فرم باید دارای برچسب بصری و برنامه ای نیز باشند. این برچسب باید همیشه قابل مشاهده باشد.

در نسخه ی نمایشی خود، یک برچسب بصری و برنامه ای را در قسمت ایمیل ثبت نام خبرنامه خود از دست داده ایم. یک عنصر مکان‌نمای متنی وجود دارد، اما این عنصر جایگزین برچسب نمی‌شود، زیرا از نظر بصری پایدار نیست و کاملاً با همه صفحه‌خوان‌ها سازگار نیست.

<form>
  <div class="form-group">
    <input type="email" placeholder="Enter your e-mail address" required>
    <button type="submit">Subscribe</button>
  </div>
</form>
به صفحه خوان گوش دهید که در این موضوع پیمایش می کند.
بیا درستش کنیم

برای رفع این مشکل، جای جای متن را با یک عنصر برچسب مشابه جایگزین کنید. آن عنصر برچسب به صورت برنامه‌ریزی به فیلد فرم متصل است و حرکت با جاوا اسکریپت اضافه شد تا برچسب حتی زمانی که محتوا به فیلد اضافه می‌شود قابل مشاهده بماند.

<form>
  <div class="form-group">
    <input type="email" required id="youremail" name="youremail" type="text">
    <label for="youremail">Enter your e-mail address</label>
    <button type="submit" aria-label="Subscribe to our newsletter">Subscribe</button>
  </div>
</form>
اکنون که فرم را اصلاح کردیم، به صفحه خوان گوش دهید که در نسخه نمایشی پیمایش می کند.

بسته شدن

تبریک می گویم! شما تمام آزمایشات این نسخه نمایشی را انجام داده اید. می توانید همه این تغییرات را در Codepen به روز شده برای این نسخه نمایشی مشاهده کنید.

اکنون، می‌توانید از آنچه یاد گرفته‌اید برای بررسی دسترسی به وب‌سایت‌ها و برنامه‌های خود استفاده کنید.

هدف همه این تست‌های دسترسی، رسیدگی به بسیاری از مسائل احتمالی است که کاربر ممکن است به طور بالقوه با آن مواجه شود. با این حال، این بدان معنا نیست که وب سایت یا برنامه شما پس از اتمام کار کاملاً در دسترس خواهد بود. بیشترین موفقیت را با طراحی وب سایت یا برنامه خود با قابلیت دسترسی در طول فرآیند، و ترکیب این تست ها با سایر آزمایشات قبل از راه اندازی خود خواهید داشت.

درک خود را بررسی کنید

دانش خود را در مورد تست دسترسی خودکار آزمایش کنید

بهترین صفحه‌خوانی که برای آزمایش دسترسی استفاده می‌شود چیست؟

فک
در حالی که JAWS یکی از محبوب ترین صفحه خوان ها است، لزوما بهترین انتخاب نیست.
صداگذاری
VoiceOver ابزاری برای کاربران MacOS و iOS است. اگر از رایانه شخصی ویندوزی استفاده می کنید، باید از ابزار دیگری استفاده کنید.
اورکا
Orca برای کاربران لینوکس فایرفاکس است، که ممکن است به این معنی باشد که شما باید از ابزار دیگری استفاده کنید.
یکی نیست
هر صفحه خوان برای دستگاه، سیستم عامل یا مرورگر خاصی ساخته شده است، بنابراین بهترین گزینه برای شما بستگی به نحوه آزمایش شما دارد. اگر تجزیه و تحلیل یا تحقیقی دارید که در مورد کاربرانی که از صفحه خوان استفاده می کنند به شما اطلاعات بیشتری می دهد، آزمایش با همان صفحه خوان هایی که آنها استفاده می کنند می تواند مفید باشد.

هدف از آزمایش با فناوری کمکی چیست؟

تجربه مشابه افرادی که از فناوری کمکی استفاده می کنند.
شما نمی توانید واقعاً از تجربه شخصی که از AT استفاده می کند تقلید کنید. یک آزمون در یک موقعیت با سایر تجربیات یکسان نخواهد بود.
برای آزمایش نقص در وب سایت یا برنامه خود.
تست دسترس‌پذیری به توسعه‌دهندگان کمک می‌کند مشکلاتی را که کاربران AT ممکن است در وب‌سایت یا برنامه‌شان تجربه کنند، پیدا کرده و برطرف کنند.