اینکه صفحات شما بتوانند به اندازههای مختلف صفحه نمایش واکنش نشان دهند، تنها یکی از راههای اطمینان از دسترسیپذیر بودن وبسایت شما برای حداکثر تعداد افراد ممکن است. برخی از این عوامل دیگر را که باید در نظر داشته باشید، در نظر بگیرید.
نقص دید رنگی
افراد مختلف رنگها را به طور متفاوتی درک میکنند. افرادی که مبتلا به پروتانوپی هستند، رنگ قرمز را به عنوان یک رنگ متمایز درک نمیکنند. در دوترانوپی، رنگ سبز وجود ندارد. برای افرادی که مبتلا به تریتانوپی هستند، رنگ آبی است.
برخی ابزارها میتوانند به شما ایدهای کلی بدهند که طرحهای رنگی شما برای افرادی با انواع مختلف بینایی رنگ چگونه به نظر میرسند.
تب دسترسیپذیری فایرفاکس شامل یک منوی کشویی با عنوان شبیهسازی (Simulate) به همراه فهرستی از گزینهها است.


در Chrome DevTools، تب رندرینگ به شما امکان میدهد تا نقصهای بینایی را شبیهسازی کنید .
اینها ابزارهای مخصوص مرورگر هستند. همچنین میتوان انواع مختلف بینایی را در سطح سیستم عامل شبیهسازی کرد.
در مک، به مسیر زیر بروید:
- تنظیمات سیستم
- دسترسیپذیری
- نمایش
- فیلترهای رنگی
- فیلترهای رنگی را فعال کنید
یکی از گزینهها را انتخاب کنید.

به طور کلی، تکیه صرف بر رنگ برای تمایز بین عناصر مختلف ایده خوبی نیست. به عنوان مثال، میتوانید - و باید - رنگ لینکهای خود را با متن اطراف آن متفاوت کنید. اما باید از برخی شاخصهای سبکدهی دیگر مانند زیرخطدار کردن لینکها یا پررنگ کردن آنها نیز استفاده کنید.
a { color: red; }
a { color: red; font-weight: bold; }
کنتراست رنگ
برخی از ترکیبهای رنگی میتوانند مشکلساز باشند. اگر تضاد کافی بین رنگ پیشزمینه و رنگ پسزمینه وجود نداشته باشد، خواندن متن دشوار میشود. تضاد رنگ ضعیف یکی از رایجترین مشکلات دسترسیپذیری در وب است، اما خوشبختانه، مشکلی است که میتوانید در مراحل اولیه طراحی متوجه آن شوید.
در اینجا چند ابزار وجود دارد که میتوانید برای آزمایش نسبت کنتراست رنگ متن و پسزمینه خود استفاده کنید:
- VisBug یک افزونه مرورگر است که برای همه مرورگرهای اصلی دسکتاپ در دسترس است.
- ابزار Accessibility Inspector فایرفاکس میتواند مشکلات مربوط به کنتراست بصری را بررسی کند.
- همچنین میتوانید متنهای با کنتراست پایین را با Chrome DevTools کشف و اصلاح کنید .
- در مرورگر مایکروسافت اج، میتوانید کنتراست رنگ متن را با استفاده از انتخابگر رنگ آزمایش کنید .
ایده خوبی است که همیشه color و background-color در CSS خود با هم تعریف کنید. فرض نکنید که رنگ پسزمینه، رنگ پیشفرض مرورگر خواهد بود. افراد میتوانند رنگهای مورد استفاده مرورگر خود را تغییر دهند و این کار را هم میکنند.
body { color: black; }
body { color: black; background-color: white; }
کنتراست بالا
بعضی افراد سیستم عامل خود را طوری تنظیم میکنند که از حالت کنتراست بالا استفاده کند. میتوانید این را روی سیستم عامل خود امتحان کنید.
در مک، به مسیر زیر بروید:
- تنظیمات سیستم
- دسترسیپذیری
- نمایش
گزینه افزایش کنتراست را انتخاب کنید.

یک ویژگی رسانهای وجود دارد که تشخیص میدهد آیا کسی حالت کنتراست بالا را فعال کرده است یا خیر. ویژگی رسانهای prefers-contrast را میتوان برای سه مقدار جستجو کرد: no-preference ، less و more . میتوانید از این اطلاعات برای تنظیم پالت رنگ سایت خود استفاده کنید.
افراد همچنین میتوانند در سیستم عامل خود ترجیحی برای استفاده از رنگهای معکوس تنظیم کنند.
در مک، به مسیر زیر بروید:
- تنظیمات سیستم
- دسترسیپذیری
- نمایش
گزینه معکوس کردن رنگها را انتخاب کنید.

مطمئن شوید که وبسایت شما هنوز برای کسی که با رنگهای معکوس در حال مرور است، قابل فهم باشد. مراقب سایههای کادر باشید - ممکن است هنگام معکوس شدن رنگها، نیاز به تنظیم داشته باشند.
اندازه فونت
رنگ تنها چیزی نیست که افراد میتوانند در مرورگر خود تنظیم کنند، بلکه میتوانند اندازه فونت پیشفرض را نیز تنظیم کنند. با کاهش بینایی، ممکن است اندازه فونت پیشفرض را در مرورگرها یا سیستم عاملهای خود تنظیم کنند و با گذشت سالها، اعداد را افزایش دهند.
شما میتوانید با استفاده از اندازههای نسبی فونت به این تنظیمات پاسخ دهید. از استفاده از واحدهایی مانند px خودداری کنید. در عوض از واحدهای نسبی مانند rem یا ch استفاده کنید.
سعی کنید تنظیمات اندازه متن پیشفرض را در مرورگر خود تغییر دهید. میتوانید این کار را در تنظیمات مرورگر خود انجام دهید. یا میتوانید هنگام بازدید از یک صفحه وب با بزرگنمایی این کار را انجام دهید. آیا اگر اندازه فونت پیشفرض ۲۰۰٪ افزایش یابد، وبسایت شما همچنان کار میکند؟ ۴۰۰٪ چطور؟
کسی که از وبسایت شما با کامپیوتر رومیزی و اندازه فونت ۴۰۰٪ بازدید میکند، باید همان طرحبندی را داشته باشد که کسی که از سایت شما با دستگاهی با صفحه نمایش کوچک بازدید میکند.

پیمایش با صفحه کلید
همه از ماوس یا ترکپد برای پیمایش صفحات وب استفاده نمیکنند. صفحهکلید راه دیگری برای گشت و گذار در صفحه است و کلید tab به ویژه مفید است. کاربران میتوانند به سرعت از یک لینک یا فیلد فرم به لینک بعدی بروند.
لینکهایی که با شبهکلاسهای :hover و :focus استایلدهی میشوند ، صرف نظر از اینکه کاربر از ماوس، ترکپد یا کیبورد استفاده میکند، این استایلها را نمایش میدهند. از شبهکلاس :focus-visible برای استایلدهی به لینکهای خود فقط برای پیمایش کیبورد استفاده کنید. میتوانید این استایلها را بیشتر قابل توجه کنید.
a:focus,
a:hover {
outline: 1px dotted;
}
a:focus-visible {
outline: 3px solid;
}
همانطور که کاربر با استفاده از کلید Tab از لینکی به لینک دیگر یا از فیلدی به فیلد دیگر میرود، آن عناصر به ترتیبی که در ساختار سند ظاهر میشوند، در مرکز توجه قرار میگیرند. این ترتیب باید با ترتیب بصری نیز مطابقت داشته باشد.
مراقب ویژگی order CSS باشید. میتوانید از این ویژگی در ترکیب با flexbox و grid برای قرار دادن عناصر با ترتیب بصری متفاوت از ترتیب آنها در HTML استفاده کنید. این یک ویژگی قدرتمند است، اما میتواند افرادی را که با صفحه کلید پیمایش میکنند، گیج کند.
صفحات وب خود را با استفاده از کلید tab روی صفحه کلید خود آزمایش کنید تا مطمئن شوید که ترتیب تبها منطقی است.
در پنل دسترسی (Accessibility) در ابزارهای توسعهدهندگان مرورگر فایرفاکس، گزینهای برای نمایش ترتیب تبها (Show Tabbing Order) وجود دارد. فعال کردن این گزینه، اعداد را روی هر عنصر قابل فوکوس (focusable) قرار میدهد.

کاهش حرکت
انیمیشن و حرکت روشهای فوقالعادهای برای جان بخشیدن به طراحیهای وب هستند. اما برای برخی افراد این حرکات میتواند بسیار گیجکننده و حتی باعث حالت تهوع شود.
یک کوئری ویژگی وجود دارد که مشخص میکند آیا کاربر حرکت کمتری را ترجیح میدهد یا خیر. این کوئری prefers-reduced-motion نام دارد. آن را هر جا که از انتقالها یا انیمیشنهای CSS استفاده میکنید، قرار دهید.
a:hover {
transform: scale(150%);
}
@media (prefers-reduced-motion: no-preference) {
a {
transition-duration: 0.4s;
transition-property: transform;
}
}
کوئری رسانهای prefers-reduced-motion مخصوص حرکت روی صفحه است. اگر از انتقال روی رنگ یک عنصر استفاده میکنید که نباید تحت تأثیر prefers-reduced-motion قرار گیرد، میتوانید از Transition با شفافیت و محو شدن متقاطع نیز استفاده کنید. Reduced motion به معنای عدم انیمیشن نیست.
صدا
افراد وب را به طور متفاوتی تجربه میکنند. همه وبسایت شما را روی صفحه نمایش نمیبینند. فناوریهای کمکی مانند صفحهخوانها، اطلاعات خروجی از صفحه نمایش را به کلمات گفتاری تبدیل میکنند.
صفحهخوانها با انواع برنامهها از جمله مرورگرهای وب کار میکنند. برای اینکه یک مرورگر وب بتواند به طور مفید با صفحهخوان ارتباط برقرار کند، باید اطلاعات معنایی مفیدی در صفحه وب مورد دسترسی وجود داشته باشد.
پیش از این، یاد گرفتید که چگونه دکمههای فقط آیکونی باید شامل یک ویژگی باشند تا هدف دکمه را برای کاربران نابینا مشخص کنند. این تنها یک نمونه از اهمیت HTML پایه قوی است.
سرفصلها
از عنوانهایی مانند <h1> ، <h2> ، <h3> و غیره به طور معقول استفاده کنید. صفحهخوانها از این عنوانها برای ایجاد یک طرح کلی از سند شما استفاده میکنند که میتوان با میانبرهای صفحهکلید در آن پیمایش کرد.
<div class="heading-main">Welcome to my page</div> <div class="heading-secondary">About me</div> <div class="heading-tertiary">My childhood</div> <div class="heading-secondary">About this website</div> <div class="heading-tertiary">How this site was built</div>
<h1>Welcome to my page</h1>
<h2>About me</h2>
<h3>My childhood</h3>
<h2>About this website</h2>
<h3>How this site was built</h3>ساختار
از عناصر راهنما مانند <main> ، <nav> ، <aside> ، <header> و <footer> برای ساختاردهی محتوای صفحه خود استفاده کنید. کاربران صفحهخوان میتوانند مستقیماً به این عناصر راهنما بروند.
<div class="header">...</div> <div class="navigation">...</div> <div class="maincontent">...</div> <div class="sidebar">...</div> <div class="footer">...</div>
<header>...</header> <nav>...</nav> <main>...</main> <aside>...</aside> <footer>...</footer>
فرمها
مطمئن شوید که هر فیلد فرم دارای یک عنصر <label> مرتبط است. میتوانید با استفاده از ویژگی for در عنصر <label> و ویژگی id مربوطه در فیلد فرم، یک برچسب را به یک فیلد فرم مرتبط کنید.
<span class="formlabel">Your name</span> <input type="text">
<label for="name">Your name</label> <input id="name" type="text">
تصاویر
همیشه با استفاده از ویژگی alt توضیحات متنی تصاویر را ارائه دهید.
<img src="dog.jpg">
<img src="dog.jpg" alt="A golden retriever sitting on the grass looking happy.">
اگر تصویر صرفاً جنبه نمایشی دارد، همچنان باید ویژگی alt را وارد کنید، اما میتوانید مقدار خالی به آن بدهید.
<img src="texture.png">
<img src="texture.png" alt="">
جیک آرچیبالد مقالهای در مورد نوشتن متن alt عالی منتشر کرد.
پیوندها
سعی کنید متن توصیفی را در لینکها ارائه دهید. از عباراتی مانند «اینجا کلیک کنید» یا «بیشتر» استفاده نکنید.
<p>To find out more about our latest offers, <a href="/offers.html">click here</a>.</p>
<p>Find out more about <a href="/offers.html"> our latest offers</a>.</p>
آریا
استفاده از HTML معنایی معقول، صفحات وب شما را برای فناوریهای کمکی مانند صفحهخوانها و همچنین سایر خروجیهای صوتی مانند دستیارهای صوتی، قابل دسترستر میکند.
برخی از ویجتهای رابط کاربری که عنصر HTML متناظری ندارند، از جمله چرخ و فلکها، تبها و آکاردئونها. این موارد باید از ابتدا با ترکیبی از HTML، CSS، جاوا اسکریپت و ARIA ساخته شوند.
ARIA مخفف Accessible Rich Internet Applications (برنامههای کاربردی غنی اینترنتی قابل دسترس) است. واژگان آن به شما امکان میدهد وقتی عنصر HTML مناسبی در دسترس نیست، اطلاعات معنایی ارائه دهید.
اگر نیاز به ایجاد عناصر رابط کاربری دارید که هنوز به عنوان عناصر HTML در دسترس نیستند، با ARIA آشنا شوید .
هرچه قابلیتهای سفارشی بیشتری با جاوااسکریپت اضافه کنید، بیشتر نیاز به درک ARIA خواهید داشت. اگر به عناصر استاندارد HTML پایبند باشید، ممکن است به هیچ ARIA نیاز نداشته باشید.
اگر امکانش هست، با کاربران واقعیِ نرمافزارهای صفحهخوان (screen reader) تست کنید. این کار نه تنها درک بهتری از نحوهی پیمایش وب توسط آنها به شما میدهد، بلکه حدس و گمان را از طراحی با در نظر گرفتن دسترسیپذیری حذف میکند.
آزمایش با افراد واقعی راهی عالی برای آشکار کردن هرگونه فرضیهای است که ممکن است در ذهن داشته باشید. در ماژول بعدی، در مورد روشهای مختلف تعامل افراد با وبسایتهای شما یاد خواهید گرفت - حوزه دیگری که در آن فرضیهسازی بسیار آسان است.
درک خود را بررسی کنید
دانش خود را در مورد دسترسیپذیری بیازمایید
با CSS، یک توسعهدهنده میتواند تنظیمات کاربر مانند اندازه فونت را تغییر دهد، یا حتی بدتر از آن؟
body { font-size: 12px; } کافی است.برای جلوگیری از بازنویسی اندازه فونت دلخواه کاربر، از ... استفاده کنید؟
px .rem .همه در دنیا از ماوس استفاده میکنند.
تصویری با ویژگی alt خالی چه کاری انجام میدهد؟