آیا تا به حال شده که سوار ماشین، قایق یا هواپیما باشید و ناگهان احساس کنید دنیا دور سرتان میچرخد؟ یا میگرنتان آنقدر شدید بوده که انیمیشنهای روی گوشی یا تبلتتان که برای «لذت» شما ساخته شدهاند، ناگهان شما را بیمار کردهاند؟ یا شاید همیشه به انواع حرکت حساس بودهاید؟ اینها نمونههایی از انواع مختلف اختلالات دهلیزی هستند.
تا سن ۴۰ سالگی، بیش از ۳۵٪ از بزرگسالان نوعی اختلال عملکرد دهلیزی را تجربه خواهند کرد. این ممکن است منجر به سرگیجه موقت، سرگیجه ناشی از میگرن یا ناتوانی دائمیتر در سیستم دهلیزی شود.
فراتر از ایجاد سرگیجه، بسیاری از افراد متوجه میشوند که حرکت، پلک زدن یا اسکرول کردن محتوا حواسشان را پرت میکند. افراد مبتلا به ADHD و سایر اختلالات کمبود توجه ممکن است آنقدر توسط عناصر متحرک شما حواسشان پرت شود که فراموش کنند اصلاً چرا به وبسایت یا برنامه شما مراجعه کردهاند.
در این ماژول، به برخی از راههای کمک به حمایت بهتر از افراد مبتلا به انواع اختلالات حرکتی خواهیم پرداخت.
چشمک زدن و جابجایی محتوا
هنگام ساخت انیمیشن و حرکت، از خود بپرسید که آیا حرکت عنصر بیش از حد است یا خیر. به عنوان مثال، رنگهایی که از تاریکی به روشنایی سوسو میزنند یا حرکات سریع روی صفحه، میتوانند باعث تشنج در افراد مبتلا به صرع حساس به نور شوند. تخمین زده میشود که ۳٪ از افراد مبتلا به صرع از حساسیت به نور رنج میبرند و این بیماری در زنان و افراد جوانتر شایعتر است.
دستورالعملهای WCAG در مورد فلش کردن موارد زیر را توصیه نمیکند:
- در هر ثانیه بیش از سه بار چشمک میزند
- چشمک زدنهایی پایینتر از آستانه چشمک زدن عمومی و چشمک زدن قرمز .
این فلشها در بهترین حالت ممکن است باعث ناتوانی در استفاده از یک صفحه وب یا در بدترین حالت منجر به بیماری شوند.
برای هرگونه حرکت شدید، ضروری است که آن را با استفاده از ابزار تجزیه و تحلیل صرع حساس به نور (PEAT) آزمایش کنید. PEAT ابزاری رایگان برای شناسایی این است که آیا محتوای صفحه نمایش، ویدیو یا انیمیشنها احتمالاً باعث تشنج میشوند یا خیر. همه محتواها نیازی به ارزیابی توسط PEAT ندارند، اما محتوایی که حاوی چشمک زدن یا انتقال سریع بین رنگهای پسزمینه روشن و تیره است، باید ارزیابی شود، فقط برای اطمینان.
سوال دیگری که باید در مورد انیمیشن و حرکت از خود بپرسید این است که آیا حرکت عنصر برای درک محتوا یا عملکردهای روی صفحه ضروری است یا خیر. اگر ضروری نیست، حذف تمام حرکات - حتی حرکات ریز - را از عنصری که میسازید یا طراحی میکنید، در نظر بگیرید.
فرض کنید معتقدید که حرکت عنصر ضروری نیست اما میتواند تجربه کلی کاربر را بهبود بخشد، یا به دلیل دیگری نمیتوانید حرکت را حذف کنید. در این صورت، باید از دستورالعملهای WCAG در مورد حرکت پیروی کنید. این دستورالعملها بیان میکنند که شما باید گزینهای برای کاربران ایجاد کنید تا حرکت را برای موارد زیر متوقف، متوقف یا پنهان کنند: عناصر متحرک، چشمکزن یا پیمایشی غیرضروری که به طور خودکار شروع میشوند، بیش از پنج ثانیه طول میکشند و بخشی از سایر عناصر صفحه هستند.
مکث، توقف یا پنهان کردن حرکت
مکانیزم مکث، توقف یا پنهان کردن را به صفحه خود اضافه کنید تا کاربران بتوانند انیمیشنهای حرکتی مشکلساز را غیرفعال کنند. میتوانید این کار را در سطح صفحه یا سطح عنصر انجام دهید.
برای مثال، فرض کنید محصول دیجیتال شما شامل انیمیشنهای زیادی است. اضافه کردن یک دکمهی جاوا اسکریپت قابل دسترس را در نظر بگیرید تا کاربران بتوانند تجربهی خود را کنترل کنند. وقتی دکمه روی «خاموش کردن حرکت» قرار میگیرد، تمام انیمیشنها در آن صفحه و سایر صفحهها ثابت میشوند.
از کوئریهای رسانهای استفاده کنید
علاوه بر اینکه میتوانید در مورد انیمیشنهای خود گزینشی عمل کنید، به کاربران خود گزینههایی برای مکث، توقف، پنهان کردن حرکت و جلوگیری از حلقههای انیمیشن بینهایت بدهید، میتوانید یک کوئری رسانهای متمرکز بر حرکت نیز اضافه کنید. این کار به کاربران شما در مورد آنچه روی صفحه نمایش داده میشود، حق انتخاب بیشتری میدهد.
@prefers-reduced-motion
مشابه کوئریهای رسانهای متمرکز بر رنگ در ماژول رنگ ، کوئری رسانهای @prefers-reduced-motion تنظیمات سیستم عامل کاربر مربوط به انیمیشن را بررسی میکند.

یک کاربر میتواند تنظیمات نمایش را طوری تنظیم کند که حرکت را کاهش دهد. این تنظیمات در سیستمهای عامل مختلف متفاوت است و ممکن است به صورت مثبت یا منفی تنظیم شوند. با @prefers-reduced-motion میتوانید سایتی طراحی کنید که این تنظیمات را رعایت کند.
در macOS و اندروید، کاربر تنظیمات کاهش حرکت را فعال میکند. در macOS، کاربر میتواند کاهش حرکت را در تنظیمات > دسترسی > نمایش تنظیم کند. تنظیمات اندروید، حذف انیمیشنها است. در ویندوز، این تنظیمات به صورت مثبت به عنوان نمایش انیمیشنها تعریف شده است که به طور پیشفرض فعال است. کاربر باید این تنظیم را برای کاهش حرکت غیرفعال کند.
برای اطمینان از دسترسیپذیری برای افرادی که در حرکت مشکل دارند، حتی انیمیشنهای کوتاهتر از آستانه ۵ ثانیهای که در دستورالعملهای WCAG 2.0 AA مشخص شده است، باید با احتیاط مورد استفاده قرار گیرند و مطمئنترین روش، توانمندسازی کاربرانی است که ترجیح میدهند حرکت کمتری داشته باشند، به این صورت که کنترل انحصاری بر انیمیشنها را در اختیار آنها قرار دهند و به آنها اجازه دهند انیمیشن را با استفاده از کنترلهای اختصاصی، مانند دکمه پخش و دکمه مکث، به ترتیب شروع و متوقف کنند.
تقویت تدریجی حرکت
به عنوان طراح و توسعهدهنده، ما انتخابهای زیادی داریم، از جمله حالتهای پیشفرض حرکت و میزان حرکت برای نمایش. نگاهی دوباره به آخرین مثال در مورد حرکت بیندازید.
فرض کنید تصمیم بگیریم که انیمیشن برای درک محتوای روی صفحه نمایش غیرضروری است. در این صورت، میتوانیم حالت پیشفرض را به جای نسخه کامل متحرک، روی انیمیشن با حرکت کاهشیافته تنظیم کنیم. مگر اینکه کاربران بهطور خاص درخواست انیمیشن کنند، انیمیشنها غیرفعال میشوند.
ما نمیتوانیم پیشبینی کنیم که چه سطحی از حرکت برای افراد مبتلا به تشنج، اختلالات دهلیزی و سایر اختلالات بینایی مشکل ایجاد میکند. حتی مقدار کمی حرکت روی صفحه میتواند باعث سرگیجه، تاری دید یا موارد بدتر شود. بنابراین، در مثال زیر، ما به طور پیشفرض انیمیشن را حذف کردهایم.
کوئریهای رسانهای لایهای
شما میتوانید از چندین مدیا کوئری برای ارائه گزینههای بیشتر به کاربران خود استفاده کنید. بیایید از @prefers-color-scheme ، @prefers-contrast و @prefers-reduced-motion به طور همزمان استفاده کنیم.
به کاربران خود اجازه انتخاب بدهید
اگرچه ایجاد انیمیشن در محصولات دیجیتال برای جلب رضایت کاربران میتواند سرگرمکننده باشد، اما بسیار مهم است که به یاد داشته باشیم برخی افراد تحت تأثیر این طرحها قرار خواهند گرفت. حساسیت به حرکت میتواند هر کسی را تحت تأثیر قرار دهد، از احساس ناراحتی جزئی گرفته تا ایجاد یک بیماری ناتوانکننده یا تشنج.
شما میتوانید از ابزارهای مختلفی استفاده کنید تا به کاربر اجازه دهید تصمیم بگیرد چه چیزی برای او بهتر است، نه اینکه حدس بزند چه مقدار حرکت زیاد است. به عنوان مثال، یک دکمه برای روشن یا خاموش کردن انیمیشن در سایت یا برنامه وب خود اضافه کنید. میتوانید این دکمه را به صورت پیشفرض روی خاموش تنظیم کنید.