تعاریف و مفاهیم دسترس پذیری در وب – راهنمای جامع


این نخستین مقاله از سری مقالات راهنمای جامع دسترس پذیری است که به بررسی تعاریف و مفاهیم دسترس پذیری میپردازد. این مقاله شامل بررسی گروههایی از افراد است که باید در زمینه دسترسپذیری در نظر داشته باشیم و دلیل این کار را توضیح میدهد. همچنین ابزارهایی که افراد مختلف برای تعامل با وب مورد استفاده قرار میدهند و این که چطور میتوانند دسترسپذیری را بخشی از گردش کار توسعه وب خود بکنند صحبت خواهیم کرد.
پیشنیازهای مطالعه این مقاله، داشتن سواد عمومی رایانه و درکی کلی از HTML و CSS است. هدف از مطالعه این مقاله، کسب آشنایی با دسترسپذیری، مفهوم آن و شیوه تأثیرگذاریاش بر توسعهدهندگان وب است.
دسترس پذیری چیست؟
دسترسپذیری به رویه قابل استفاده ساختن وبسایتها برای بیشترین افراد ممکن گفته میشود. ما به طور سنتی وقتی به دسترسپذیری فکر میکنیم، افراد دارای ناتوانیها را در نظر میگیریم، اما رویه دسترسپذیر ساختن سایتها موجب بهرهمندی گروههایی از قبیل افرادی که از دستگاههای موبایل استفاده میکنند یا افرادی که اتصالات اینترنتی کندی دارند نیز میشود.
همچنین دسترسپذیری را میتوان به این معنی در نظر گرفت که با همه افراد به صورت یکسان برخورد کنیم و صرفنظر از تواناییها یا شرایط افراد، فرصتهای برابری برای همه خلق کنیم. دقیقاً همان طور که استثنا کردن یک نفر از ورود فیزیکی به ساختمان صرفاً به این خاطر که ویلچیر استفاده میکند نادرست است، استثنا کردن افراد از ورود به وبسایتها نیز به دلیل نقص بینایی کار درستی محسوب نمیشود. همه ما تفاوتهایی داریم، اما در نهایت همه ما انسان هستیم و از این رو حقوق انسانی یکسانی داریم.
دسترسپذیری کار درستی است که باید انجام دهیم. ارائه دسترسپذیری برای سایتها در برخی کشورها بخشی از قانون محسوب میشود که میتواند بازارهای مهمی را به روی کسبوکارها بگشاید که در غیر این صورت نمیتوانستند از خدمات آنها استفاده کنند یا محصولاتشان را بخرند.
دسترسپذیر ساختن وبسایتها موجب بهرهمندی همه میشود:
- HTML معناشناختی که موجب بهبود دسترسپذیری میشود، موجب بهبود سئو نیز میشود و باعث میشود سایتها راحتتر پیدا شوند.
- توجه به دسترسپذیری نشاندهنده حسن نیت صاحب وبسایت است و تصویر عمومی آن را بهبود میبخشد.
- رویههای خوب دیگر که موجب بهبود دسترسپذیری میشوند باعث خواهند شد که سایت از سوی گروههای زیادی از افراد مانند دارندگان گوشیهای موبایل یا کسانی از شبکههای کند استفاده میکنند، نیز قابل استفاده باشد. در واقع همه افراد از چنین بهبودهایی منتفع میشوند.
- همچنین در برخی کشورها یک الزام قانونی محسوب میشود.
ما به دنبال کدام نوع ناتوانیها هستیم؟
افراد دارای ناتوانی نیز به اندازه افراد بدون ناتوانی متنوع هستند. فهرست انواع ناتوانیها بسیار طولانی است. نکته کلیدی در این موضوع آن است که اندیشه خود را از رایانه خودتان و شیوهای که از آن استفاده میکنید فراتر ببرید و شروع به یادگیری طرز استفاده دیگران از رایانه بکنید. توجه کنید که شما، همان کاربرانتان نیستید. انواع عمده ناتوانیهایی که باید در نظر داشت در ادامه ارائه شدهاند و ابزارهای خاصی که افراد برای دسترسی به محتوای وب مورد استفاده قرار میدهند نیز معرفی شدهاند. این ابزارها به نام فناوریهای حمایتی یا AT نامیده میشوند.
نکته: گزارش «ناتوانی و سلامت» سازمان سلامت جهانی بیان میکند که بیش از یک میلیارد انسان یعنی حدود 15% از جمعیت زمین، نوعی از ناتوانی را دارند و بین 110 تا 190 میلیون بزرگسال، ناتوانیهای عمدهای را در کارکردهای جسمی خود شاهد هستند.
افراد دارای نقص بینایی
افراد دارای نقص بینایی شامل افراد نابینا، بینایی سطح پایین و کوررنگی میشود. افراد زیادی که دارای نقص بینایی هستند، از ابزارهای بزرگنمایی صفحه استفاده میکنند که یا ذرهبین فیزیکی است و یا به صورت قابلیت بزرگنمایی نرمافزاری عمل میکند. امروزه اغلب مرورگرها و سیستمهای عامل قابلیت بزرگنمایی دارند. برخی کاربران از نرمافزارهای قرائت صفحه استفاده میکنند که برای خواندن دیجیتالی متون کاربرد دارد. برخی نرمافزارهای قرائت صفحه شامل موارد زیر هستند:
- برخی محصولات پولی شامل AWS (ویندوز) و Dolphin Screen Reader (ویندوز).
- برخی محصولات رایگان مانند NVDA (ویندوز)، ChromeVox (کروم، ویندوز و مک) و Orca (لینوکس).
- برخی از ابزارها درون سیستمهای عامل هستند مانند ChromeVox (مک، آیپاد او اس و آی او اس)، Narrator (ویندوز)، ChromeVox (کروم او اس)، و TalkBack (اندروید).
آشنایی با نرمافزارهای قرائت صفحه کار خوبی است، شما میتوانید این نم افزارها را نصب کرده و با آنها کار کنید تا ایدهای از طرز کار کلی آنها بیابید.
بر اساس آمار سازمان سلامت جهانی 285 میلیون در سطح جهان دارای نقص بینایی هستند که از این میان 39 میلیون نفر نابینا و 246 میلیون نفر دارای بینایی کم هستند. این عدد، جمعیت بسیار بزرگی از کاربران است و انصاف نیست که صرفاً به خاطر کدنویسی نامناسب وبسایت از دسترسی به آن محروم شوند.
افراد دارای نقص شنوایی
دسته دیگر افراد ناتوان، کسانی هستند که دارای نقص شنوایی هستند. این دسته از افراد یا شنوایی پایینی دارند و یا کلاً نمیشوند. افراد دچار ناتوانی شنوایی از فناوریهای حمایتی استفاده میکنند؛ اما فناوریهای خاصی که برای کاربرد رایانه/وب باشد وجود ندارد.
با این حال باید برخی تکنیکهای خاص را برای ارائه جایگزینهای متنی به جای محتوای شنیداری در نظر داشت تا این افراد بتوانند بخوانند. این موارد از زیرنویسهای ساده تا کپشنهای متنی را شامل میشود که به همراه ویدئو نمایش پیدا میکنند. در یکی از بخشهای آتی این سری مقالات به طور مفصل به بررسی این موضوع خواهیم پرداخت.
افراد با نقص شنوایی جمعیت بالایی را تشکیل میدهند. بر اساس آمار سازمان سلامت جهانی 466 میلیون نفر در سراسر دنیا به دلیل نقص شنوایی ناتوان هستند.
افراد دارای نقص حرکتی
این افراد در ارتباط با تحرک خود دچار نقص هستند و این نقص میتواند شامل مشکلات کاملاً فیزیکی (مانند فقدان عضو یا فلج) و یا اختلالهای عصبی/ژنتیکی باشد که منجر به تحلیل یا از دست دادن کنترل اندامها شده است. برخی افراد ممکن است در اجرای حرکتهای دقیق که برای کار با ماوس لازم است مشکل داشته باشند، در حالی که افراد دیگر ممکن است آسیبهای شدیدیتری داشته باشند و تا حدی فلج شده باشند که نیاز به استفاده از «اشارهگر سر» (head pointer) برای کار با رایانه داشته باشند.
این نوع از ناتوانی میتواند ناشی از کهولت سن نیز باشد. همچنین هر نوع آسیب به اندامهای داخلی یا شرایط حاد و یا حتی ناشی از محدودیت سختافزاری برای مثال فقدان ماوس نیز چنین ناتوانیهایی را موجب میشوند.
تأثیر این ناتوانی بر توسعه وب این است که الزام میشود کنترلها از طریق کیبورد نیز قابل دسترسی باشند. ما در یکی از بخشهای بعدی این سری مقالات به موضوع دسترسپذیری کیبورد میپردازیم، اما فعلاً برای شروع خوب است که تلاش کنید برخی وبسایتها را با استفاده از کیبورد باز کنید و ببینید چطور میتوانید با آنها کار کنید. برای نمونه آیا میتوانید از کلید tab برای حرکت بین کنترلهای مختلف صفحه وب استفاده کنید.
بر اساس آمار تعداد بالایی از افراد جمیعت زمین دچار نقص حرکتی هستند. مراکز کنترل و پیشگیری از بیماریهای ایالات متحده گزارش میکنند که 16.1 درصد از افراد بزرگسال در ایالات متحده دچار نقص کارکرد جسمی هستند.
افراد دچار ناتوانی شناختی
منظور از نقص شناختی طیف وسیعی از ناتوانیها است که از افراد دارای معلولیت فکری که ظرفیتهای بسیار محدود فکری دارند تا همه افراد مسنی که در تفکر و به خاطر آوردن دچار مشکل میشوند را شامل میشود. این طیف شامل افرادی که دارای بیماریهای ذهنی مانند افسردگی، شیزوفرنی و غیره هستند نیز میشود. همچنین افرادی که دارای ناتوانی یادگیری مانند «خوانشپریشی» (Dyslexia) و «اختلال کمتوجهی بیش فعالی» (ADHD) هستند را نیز شامل میشود. نکته مهمتر این است که علیرغم این که تنوع زیادی در بین تعاریف بالینی از نقصهای شناختی وجود دارد، اما افراد دچار این مشکلات، مجموعه مشترکی از مشکلات کارکردی را شاهد هستند. این مشکلات شامل دشواری در درک محتوا، بهخاطرسپاری شیوه انجام وظایف و سردرگمی ناشی از طرحبندیهای ناسازگار در صفحههای وب میشود.
در ادامه برخی راهکارهای مناسب دسترسپذیری برای افراد دچار نقص شناختی ارائه شده است:
- ارائه محتوا به بیش از یک روش مانند راهکارهای قرائت متن یا از طریق ویدئو.
- محتوای با درک آسان مانند متن نوشتهشده با استانداردهای ساده زبانی.
- تمرکز توجه روی محتوای مهم.
- کاهش عوامل حواسپرتی مانند محتوا یا آگهیهای غیرضروری.
- طرحبندی و ناوبری یکسان در صفحههای وب.
- استفاده از عناصر آشنا مانند لینکهای زیرخطدار به رنگ آبی در صورت عدم بازدید و به رنگ بنفش در صورت بازدید قبلی.
- تقسیم پردازشها به گامهای منطقی و اساسی با نشانگرهای پیشروی.
- احراز هویت وبسایت به روشی تا حد امکان ساده بدون به مخاطره انداختن امنیت.
- آسانتر کردن تکمیل فرمها مانند پیامهای خطای واضح و بازیابی خطای ساده.
نکات مهم
- طراحی با در نظر گرفتن دسترسپذیری شناختی منجر به رویههای طراحی مناسبی میشود که موجب بهرهمندی همه افراد جامعه میشود.
- افراد زیادی که دچار نقص شناختی هستند، همزمان معلولیت جسمی هم دارند. وبسایتها باید با استاندارد W3C شامل راهنماییهای دسترسپذیری شناختی (+) سازگار باشند.
- گروه کاری دسترسپذیری برای افراد ناتوان شناختی و یادگیری در W3C برخی راهنماهای دسترسپذیری برای افراد دچار نقص شناختی ارائه کرده است.
- WebAIM یک صفحه شناختی (+) از اطلاعات و منابع مرتبط دارد.
- مراکز کنترل بیماری در ایالات متحده تخمین میزنند که در سال 2018، یک نفر از هر 4 شهروند این کشور دچار ناتوانی بوده است و از میان آنها نقص شناختی رایجترین ناتوانی در میان افراد جوان محسوب میشود.
- در ایالات متحده «ناتوانیهای ذهنی» اصطلاح جدیدی است که به جای «عقبماندگی ذهنی» استفاده میشود. در بریتانیا «ناتوانیهای ذهنی» عموماً شامل «ناتوانیهای یادگیری» و «دشوارهای یادگیری» میشود.
پیادهسازی دسترسپذیری در پروژهها
یکی از افسانههای رایج در مورد دسترسپذیری این است که مجبور هستیم چیزهای زائدی به یک پروژه اضافه کنیم. این افسانه به صورت خاص در موارد زیر میتواند درست باشد:
- در مواردی که تلاش کنید دسترسپذیری را در یک وبسایت موجود که مشکلات دسترسپذیری جدی دارد، بگنجانید.
- به تازگی شروع به بررسی دسترسپذیری کرده باشید و مشکات مرتبط را در آخرین گامهای پروژه شناسایی کنید.
اما در صورتی که دسترسپذیری را از ابتدای شروع پروژه در نظر داشته باشید، هزینه دسترسپذیر ساختن بخش عمدهای از محتوا بسیار ناچیز خواهد بود.
زمانی که مشغول برنامهریزی برای یک پروژه هستید، باید ارزیابی دسترسپذیری را همانند هر نوع تست دیگر که برای گروههای مخاطبان مهمتان در نظر دارید، در رویههای تست خود بگنجانید. تست کردن زودهنگام و مکرر داشته باشید و بهتر است از تستهای خودکار برای انتخاب و تشخیص قابلیتهای ناموجود به صورت برنامهنویسی شده استفاده کمید. برای نمونه متن جایگزین برای تصویر مفقود یا متن برای لینکهای معیوب، مثال خوبی از چنین رویکردی است. انجام تست روی گروههای کاربران دچار ناتوانی، میتواند نشان دهد که قابلیتهای پیچیده وبسایت برای این افراد چگونه کار میکند. برای نمونه:
- آیا ویجت انتخابگر تاریخ به وسیله نرمافزار قرائت صفحه قابل استفاده است.
- اگر محتوایی که به صورت دینامیک بهروزرسانی میشود، آیا افراد دچار نقص بینایی متوجه میشوند؟
- آیا دکمههای رابط کاربری با استفاده از کیبورد یا رابطهای لمسی قابل استفاده هستند؟
میتوانید و در واقع بهتر است نکاتی را در مورد زمینههای مشکلات احتمالی در محتوا که برای دسترسپذیر شدن به کار بیشتری نیاز دارند، یادداشت کنید تا مطمئن شوید که به طور کامل تست شدهاند و در مورد راهحلها/ جایگزینها فکر کنید. کار در زمینه محتوای متنی (چنان که در مقاله بعدی خواهیم دید)، آسان است، اما محتوای چندرسانهای و گرافیکهای سهبعدی دشوارتر است. باید بودجه پروژه خود را در نظر بگیرید و به طور واقعگرایانهای در مورد راهحلهایی که برای دسترسپذیر ساختن چنین محتواهایی مورد نیاز هستند فکر کنید. شما میتوانید هزینهای برای زیرنویس کردن همه محتوای چندرسانهای پرداخت کنید که گرچه میتواند هزینهبر باشد، اما چیزی دور از دسترس نیست.
ضمناً باید واقعگرا باشید. دسترسپذیری 100% یک آرمان دستنیافتنی است، در اغلب موارد با حالتهای خاصی روبرو میشویم که کاربر خاصی، استفاده از محتوای خاصی را دشوار مییابد، اما باید هر چه در توان داریم در این مسیر گام برداریم. اگر قصد دارید یک نمودار دایرهای سهبعدی جذاب با استفاده از WebGL در صفحه وب بگنجانید، میتوانید یک جدول داده نیز به عنوان بازنمایی جایگزین دسترسپذیر از دادهها در کنار آن قرار دهید. همچنین میتوانید صرفاً جدولی درج کنید و از شر نمودار دایرهای سهبعدی راحت شوید، چون جدول از سوی همه افراد دسترسپذیر است، کدنویسی آن آسان است، توان کمتری از CPU میگیرد و نگهداری آن نیز آسانتر است.
از سوی دیگر اگر مشغول کار روی یک وبسایت گالری هستید که آیتمهای هنری سهبعدی جالبی را نمایش میدهد، نمیتوانید انتظار داشته باشید که همه اجزای آن اثر هنری به طور کامل برای افراد دچار نقص بینایی دسترسپذیر باشند، چون یک رسانه کاملاً بصری است.
اما برای این که نشان دهید به موضوع دسترسپذیری اهمیت میدهید، میتوانید یک بیانیه دسترسپذیری روی سایت منتشر کنید که جزییات سیاستهای شما را در این خصوص این موضوع نمایش میدهد و بیان میکند چه گامهایی در جهت دسترسپذیر ساختن سایت خود برداشتهاید. بدین ترتیب اگر کسی شکایت کند که وبسایت شما مشکل دسترسپذیری دارد، میتوانید با او به گفتگو بپردازید، همدلی خود را نشان دهید و گامهای معقولی در مسیر اصلاح مشکل بردارید.
اگر بخواهیم این بخش را جمعبندی کنیم:
- دسترسپذیری را از آغاز پروژه در نظر داشته باشید و از همان اوایل و به طور مکرر آن را مورد ارزیابی قرار دهید. اصلاح مشکلات دسترسپذیری نیز همانند هر باگ دیگری پس از این که کشف شد در ادامه با گذشت زمان دشوارتر میشود.
- به خاطر بسپارید که رعایت رویههای دسترسپذیری موجب انتفاع همه افراد میشود و نه افراد ناتوان. برای نمونه استفاده از نشانهگذاری معناشناختی نه تنها برای نرمافزارهای قرائت صفحه خوب است، بلکه موجب بارگذاری سریع و عملکرد بالای وبسایت میشود و از این رو برای همه افراد مناسب است به خصوص آنهایی که از دستگاههای موبایل و/یا اتصالات اینترنتی کند استفاده میکنند.
- یک بیانیه دسترسپذیری روی وبسایت خود انتشار دهید و با افرادی که مشکل دارند به گفتگو بپردازید.
راهنماها و قوانین دسترسپذیری
چکلیستها و مجموعههای مختلفی از راهنماها عرضه شدهاند که بتوان دسترسپذیری را با آنها مورد ارزیابی قرار داد که در نگاه نخست احتمالاً گیجکننده به نظر میرسد. پیشنهاد ما این است که ابتدا به بررسی موارد مقدماتی که باید رعایت کنید، بپردازید و همزمان درکی سطح بالا از ساختارها و راهنماهایی که ارتباط بیشتری دارند پیدا کنید.
برای شروع W3C سند کاملاً بزرگ و تفصیلی منتشر کرده است که شامل معیارهای کاملاً دقیق و جدا از فناوری، برای عملکرد دسترسپذیری است. این سندها راهنماهای دسترسپذیری محتوای وب (WAGC) نام دارند و مطالعهشان به زمان زیادی نیاز دارد. این معیارها به چهار دسته عمده تقسیم میشوند که نشان میدهد پیادهسازی چگونه میتواند قابل درک، عملیاتی، قابل درک و پایدار شود. بهترین مکان برای مطالعه یک مقدمه کوتاه و شروع یادگیری این صفحه (+) است که نگاه خلاصهای به WCAG دارد. لازم نیست که در این زمینه وارد جزییات دقیق شوید، همین قدر که موارد عمده را بدانید و با ابزارها و تکنیکهای مختلف که برای سازگاری موارد مختلف با معیارهای WCAG لازم هستند، آشنا شوید، کفایت میکند.
ممکن است در کشور شما قوانین خاصی تصویب شده باشند که الزامی برای دسترسپذیر ساختن وبسایتها تعیین کرده باشند. برای نمونه قانون EN 301 549 در اتحادیه اروپا، ماده 508 قانون توانبخشی در ایالات متحده، دستور فدرال در مورد فناوری اطلاعاتی بدون مانع در آلمان، مقررات دسترسپذیری 2018 در بریتانیا، قانون Accessibilità در ایتالیا، قانون منع تبعیض علیه ناتوانها در استرالیا و مواردی از این دست وجود دارند.
بنابراین با این که WCAG مجموعهای از راهنماها منتشر کرده است؛ اما ممکن است در کشوری که شما زندگی میکنید، قوانین خاصی در مورد دسترسپذیری وب وجود داشته باشد یا دستکم در مورد دسترسپذیری کردن خدمات برای عموم جامعه مواردی تصویب شده باشد. بهتر است در مورد این قوانین مطالعه کنید، چون در صورتی که تلاشی در این جهت نکنید، احتمالاً ممکن است در صورت شکایت افراد ناتوان علیهتان به دردسر بیفتید.
با این که دسترسپذیری موضوع مهمی است، اما نباید به اولویت اصلی شما در فرایند توسعه وب تبدیل شود. شکی نیست که مشاوره با یک وکیل با تجربه در این زمینه راهگشا خواهد بود.
API-های دسترسپذیری
مرورگرهای وب از API-های دسترسپذیری که از سوی سیستم عامل عرضه میشود استفاده میکنند تا اطلاعات مفید را در اختیار فناوریهای حمایتی قرار دهند. فناوریهای حمایتی به طور عمده از اطلاعات معناشناختی استفاده میکنند و از این رو این اطلاعات شامل چیزهایی مانند اطلاعات استایلبندی، یا جاوا اسکریپت نمیشوند. این اطلاعات در یک درخت اطلاعاتی به نام درخت دسترسپذیری جمع میشوند.
سیستمهای عامل مختلف API-های دسترسپذیری متفاوتی دارند:
- ویندوز: MSAA/IAccessible, UIAExpress, IAccessible2
- مک: NSAccessibility
- لینوکس: AT-SPI
- اندروید: Accessibility framework
- آی او اس: UIAccessibility
هر کجا که اطلاعات معناشناختی عرضه شده از سوی عناصر HTML در وباپلیکیشنها کافی نباشند، میتوانید با استفاده از قابلیتهای استاندارد WAI-ARIA آن را تکمیل کنید. این استاندارد اطلاعات معناشناختی را به درخت دسترسپذیری اضافه میکنند تا دسترسپذیری را بهبود ببخشند. برای مطالعه موارد بیشتر در این خصوص به این صفحه (+) مراجعه کنید.
سخن پایانی
در این مقاله یک مرور سطح بالا از دسترسپذیری داشتیم و دلیل اهمیت آن را توضیح دادیم. همچنین به بررسی شیوههایی که میتوانید دسترسپذیری را در گردش کاری خود وارد کنید پرداختیم.
اگر این مطلب برای شما مفید بوده است، آموزشهای زیر نیز به شما پیشنهاد میشوند:
- مجموعه آموزشهای برنامهنویسی
- چطور برنامهنویس شویم؟ — راهنمای عملی ورود به دنیای برنامهنویسی
- مجموعه آموزشهای دروس علوم و مهندسی کامپیوتر
- ویجت های دسترس پذیری فلاتر برای افراد کم توان — راهنمای پیشرفته
- قابلیت های پیشرفته جداول HTML — راهنمای کاربردی
==