طراحی فراگیر وب چیست؟ راهنمای WCAG ۲.۲ و اجرای عملی

راهنمای طراحی، توسعه و آزمون محصول دیجیتال فراگیر

کاربری که نمی‌تواند Modal را با کیبورد ببندد، فردی که پیام خطای قرمز را نمی‌بیند، سالمندی که کد پیامکی پیشین را باید دوباره وارد کند و مشتری فارسی‌زبانی که عدد و متن انگلیسی در رابط RTL به‌هم ریخته می‌بیند، چهار «Edge case» جدا نیستند؛ هر چهار نفر با تصمیم طراحی ما از انجام کار محروم شده‌اند.

طراحی فراگیر یعنی تنوع واقعی انسان، ابزار و موقعیت را از مرحلهٔ تعریف مسئله وارد کنیم؛ دسترس‌پذیری را به Definition of Done ببریم؛ و نتیجه را با معیار فنی، آزمون دستی و مشارکت کاربران دارای معلولیت بسنجیم. این راهنما شعار نیست: Scope، WCAG ۲.۲، الگوهای رابط، روش تست، Severity و برنامهٔ ۹۰روزه ارائه می‌دهد.

طراحی فراگیر وب چیست؟

طراحی فراگیر (Inclusive Design) روشی برای شناخت طرد، یادگیری از افرادی است که بیشتر تحت تأثیر آن‌اند و ساخت راه‌های متنوع برای مشارکت. هدف، یک رابط خیالی «برای همه» نیست؛ هدف کاهش موانع قابل پیش‌بینی و دادن انتخاب‌های معادل است.

دسترس‌پذیری وب بر قابل استفاده بودن فناوری برای افراد دارای معلولیت تمرکز دارد. این تمرکز نباید در عبارت مبهم «همه کاربران» محو شود. W3C تأکید می‌کند Accessibility دربارهٔ افراد است و استاندارد و چک‌لیست باید در خدمت نیاز واقعی افراد دارای معلولیت باشند.

مفهومپرسش اصلیشاهدخطای رایج
Accessibilityآیا افراد دارای معلولیت می‌توانند کار را انجام دهند؟WCAG، تست AT/Keyboard و کاربرانتقلیل به Alt و Contrast
Usabilityکار تا چه حد مؤثر، کارآمد و رضایت‌بخش انجام می‌شود؟Task success، خطا، زمان و مشاهدهآزمون فقط با کاربران خبره
Inclusive Designچه کسی و در کدام Context طرد شده و در تصمیم حضور ندارد؟مشارکت متنوع، Barrier map و OutcomePersona بدون مشارکت واقعی
Universal Designچگونه محیط/محصول تا حد ممکن برای طیف وسیع قابل استفاده باشد؟اصول و ارزیابی سیستمتصور یک راه‌حل واحد برای همه

برای پیوند Research، Journey و Delivery، راهنمای جامع تجربه کاربری را نیز به‌کار ببرید.

معلولیت فقط ویژگی فرد نیست؛ تعامل با مانع است

توانایی و Context ثابت نیستند. یک کنترل صوتی ممکن است برای فرد نابینا ضروری، برای راننده مفید و در محیط شلوغ نامناسب باشد. Caption برای فرد ناشنوا ضروری و برای کاربر در مترو یا یادگیرندهٔ زبان مفید است.

بعددائمیموقتموقعیتیپاسخ طراحی
بینایینابینایی/کم‌بیناییجراحی چشمنور شدیدSemantics، Contrast، Zoom، Text alternative
شنواییناشنوایی/کم‌شنواییعفونت گوشمحیط پرصداCaption، Transcript و اعلان بصری
حرکتیمحدودیت حرکتدست شکستهاستفاده یک‌دستیKeyboard، Target مناسب و جایگزین Drag
شناختیاختلال یادگیری/حافظهخستگی/دارواسترس پرداختزبان روشن، Consistency و Error recovery
گفتارمحدودیت گفتارگلودردفضای عمومیجایگزین غیرصوتی

طبق برآورد سازمان جهانی بهداشت، حدود ۱٫۳ میلیارد نفر یا ۱۶٪ جمعیت جهان معلولیت قابل توجهی را تجربه می‌کنند. این عدد دلیل انسانی و بازار را نشان می‌دهد، اما نیازهای یک محصول را باید با پژوهش کاربران خودش فهمید.

فراگیری فقط معلولیت نیست، اما معلولیت را محو نکنید

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

  • گزینهٔ پیش‌فرض را «کاربر جوان، بینا، راست‌دست، پرسرعت و فنی» فرض نکنید.
  • گروه‌ها را با کلیشه طراحی نکنید؛ الگوی رفتاری را با شواهد بسنجید.
  • نیاز Accessibility افراد دارای معلولیت را به «محدودیت موقعیتی برای همه» تقلیل ندهید.
  • امنیت، Privacy و اختیار را برای گروه آسیب‌پذیر قربانی سادگی نکنید.

چرا طراحی فراگیر برای کسب‌وکار مهم است؟

OutcomeمکانیسمKPIGuardrail
دسترسی به خدمتحذف مانع Task بحرانیTask success بر اساس نیاز دسترسیرضایت و استقلال
Conversionفرم/پرداخت قابل فهم و قابل کنترلCompletion و Error recoveryعدم Dark pattern
هزینه پشتیبانیخطای واضح و Self-serviceContact reason و Reopenکیفیت حل مسئله
ریسک DeliveryComponent و تست در CIDefect escape و RegressionFalse confidence ابزار
اعتماداحترام، اختیار و ارتباط روشنشکایت/اعتماد کیفیPrivacy و Consent

هیچ Outcome تجاری را قطعی فرض نکنید. اثر را با Baseline و Segment مناسب بسنجید؛ افراد دارای معلولیت را به «بازار جدید» یا ابزار اثبات ROI تقلیل ندهید. برای Business case دقیق، راهنمای محاسبه ROI تجربه کاربری مفید است.

WCAG ۲.۲ چیست و چه جایگاهی دارد؟

WCAG ۲.۲ استاندارد بین‌المللی W3C برای دسترس‌پذیرتر کردن محتوای وب است. ۱۳ Guideline زیر چهار اصل سازمان یافته‌اند: Perceivable، Operable، Understandable و Robust. Success criterionها سه سطح A، AA و AAA دارند.

اصلپرسشنمونه مانعنمونه کنترل
Perceivableاطلاعات در شکل قابل ادراک ارائه می‌شود؟ویدئوی بی‌Caption، متن کم‌ContrastAlternative، Caption، Reflow و Contrast
Operableرابط با روش‌های ورودی مختلف قابل کنترل است؟Trap کیبورد، Drag اجباریKeyboard، Focus، Target و جایگزین Drag
Understandableمحتوا و رفتار قابل فهم/پیش‌بینی است؟خطای مبهم، ورود تکراریLabel، Help، Error suggestion و Consistency
Robustساختار برای Browser و AT قابل تفسیر است؟Button با div بدون Name/Role/StateHTML native و Semantics معتبر

سطح AA هدف رایجی برای محصول است، اما هدف قراردادی/حقوقی را از Requirement همان پروژه بگیرید. این مقاله مشاوره حقوقی نیست؛ قوانین حوزه و کشور هدف را با متخصص بررسی کنید.

چه چیزهایی در WCAG ۲.۲ پررنگ‌تر شدند؟

WCAG ۲.۲ نه Success criterion جدید اضافه کرد و ۴.۱.۱ Parsing را منسوخ دانست. تغییرها به Focus، Drag، Target، Help، ورود تکراری و Authentication قابل دسترس توجه بیش‌تری می‌دهند.

موضوعاثر عملیTest نمونه
Focus not obscuredFocus پشت Header/Modal پنهان نشودTab در Zoom و Sticky header
Dragging alternativesعمل Drag با Click/Keyboard قابل انجام باشدReorder بدون Drag
Target size minimumTarget کوچک/چسبیده مانع نشودMobile و motor test
Consistent helpراه کمک در صفحات سازگار بماندمقایسه مسیرهای فرایند
Redundant entryاطلاعات واردشده دوباره درخواست نشود یا قابل انتخاب باشدCheckout چندمرحله‌ای
Accessible authenticationTask شناختی اجباری بدون جایگزین نباشدPassword manager، paste و alternative

Conformance چه معنایی دارد و چه معنایی ندارد؟

  • Conformance برای صفحهٔ کامل و فرایند کامل سنجیده می‌شود؛ Checkout ناقص با Home سالم جبران نمی‌شود.
  • همهٔ Success criterionهای سطح هدف باید در Scope پاس شوند؛ میانگین امتیاز جای Pass/Fail نیست.
  • Accessibility-supported technology و روش استفاده باید مشخص باشد.
  • ابزار خودکار نمی‌تواند Conformance کامل را تعیین کند.
  • Conformance فنی به‌تنهایی تضمین تجربهٔ خوب برای هر فرد نیست؛ Usability و User testing مکمل‌اند.
  • Overlay یا Widget خودکار، اصلاح Source و فرایند را جایگزین نمی‌کند.

فرایند طراحی فراگیر از Discovery تا Delivery

مرحلهاقدام فراگیرخروجی
ScopeJourney بحرانی، جمعیت، Context و هدف WCAGAccessibility charter و Risk
Researchمشارکت افراد دارای معلولیت و تنوع زمینهBarrier map و Need statement
Designراه‌های معادل، Content/Interaction spec و AnnotationPrototype و acceptance criteria
BuildNative HTML، Component و lint/unit/integrationAccessible component library
TestAutomated + Manual + AT + UserIssue log با Severity/Evidence
ReleaseGate، Known issue، Support و rollbackConformance/evaluation report محدود
OperateFeedback، regression، content QA و SLA اصلاحDashboard و backlog

افراد دارای معلولیت را چگونه در Research درگیر کنیم؟

  1. هدف روشن: مسئله و تصمیمی که Study تغییر می‌دهد مشخص باشد.
  2. Recruitment متنوع: فقط یک نوع معلولیت یا یک Screen reader expert نمایندهٔ همه نیست.
  3. دسترسی Session: دعوت‌نامه، Consent، ابزار تماس، زمان و محل قابل دسترس باشند.
  4. جبران خدمت منصفانه: زمان، تخصص و هزینهٔ همراه/رفت‌وآمد در سیاست لحاظ شود.
  5. فناوری خود فرد: در صورت امکان Participant با AT و تنظیمات خودش کار کند.
  6. Privacy: فقط دادهٔ لازم جمع و نیاز دسترسی جدا از تشخیص پزشکی ثبت شود.
  7. تحلیل بدون کلیشه: مشاهده را به Barrier و Context وصل کنید، نه نسبت‌دادن به «ناتوانی کاربر».

شبیه‌ساز تاری دید، خاموش‌کردن Mouse یا Persona آموزشی می‌تواند Awareness بسازد، اما جای مشارکت و آزمون واقعی نیست. برای طراحی Study و تحلیل Task از راهنمای تست کاربردپذیری استفاده کنید.

Barrier map؛ از گروه کاربر به شکست Journey برسید

TaskBarrierافراد تحت تأثیرشدتAcceptance
ورودCAPTCHA فقط تصویری و Paste مسدودنابینا، شناختی، motorBlockerروش جایگزین و Password manager
جست‌وجوAutocomplete بدون Name/State/KeyboardScreen reader و KeyboardCriticalPattern و announce نتیجه
فرمPlaceholder جای Labelشناختی، کم‌بینا، voice inputCriticalLabel visible/programmatic
پرداختTimeout بدون هشدار/تمدیدmotor، شناختی، اتصال کندBlockerهشدار و تمدید/حفظ داده
محتواویدئو بی‌Captionناشنوا/کم‌شنوا، محیط شلوغHighCaption دقیق و قابل کنترل

Severity را از Impact × Reach × Frequency × Workaround بسازید. «فقط ۲٪ کاربران» دفاع مناسبی برای Blocker نیست.

Design token و Component؛ دسترس‌پذیری را سیستماتیک کنید

اصلاح صفحه‌به‌صفحه مقیاس‌پذیر نیست. Token و Component باید Stateهای Default، Hover، Focus، Active، Disabled، Error، Loading و High contrast را پوشش دهند.

لایهSpec لازمتست
ColorForeground/background pair و non-text stateContrast در همه Themeها
TypographyScale، line-height، spacing و reflowZoom ۲۰۰% و text spacing
FocusToken رنگ/ضخامت/offset و stackingVisible و not obscured
TargetHit area و spacingTouch و pointer
Motionduration، trigger و reduced-motion variantOS preference و pause
SemanticsElement/role/name/state و keyboard contractAccessibility tree و AT

WCAG حداقل عمومی ۱۶px برای متن تعیین نمی‌کند. خوانایی را با Resize، Reflow، Contrast، spacing، Font، زبان و Context بسنجید؛ عدد ثابت را جای تست نگذارید.

ساختار Semantic؛ HTML native قبل از ARIA

  • برای عمل از <button> و برای مقصد از <a href> استفاده کنید.
  • Headingها ساختار محتوا را نشان دهند؛ چند H1 ذاتاً WCAG violation نیست، اما Outline باید منطقی باشد.
  • Landmarkهای Header/Nav/Main/Footer و Skip link مسیر سریع بدهند.
  • Table داده‌ای Caption و Header درست داشته باشد؛ Table برای Layout نباشد.
  • ARIA رفتار native نمی‌سازد؛ Role بدون Keyboard/State کامل، کنترل ناقص است.

برای Widgetهای پیچیده مانند Dialog، Tabs، Combobox و Menu، ARIA Authoring Practices Guide الگوی Semantics و Keyboard ارائه می‌کند؛ APG راهنماست، نه Design system یا جای تست در محصول شما.

Keyboard و Focus؛ فقط Tab و Enter نیست

PatternInteraction مورد انتظارخطای رایج
ButtonEnter و Spacediv با onClick
DialogFocus ورود، Trap منطقی، Escape، بازگشت FocusFocus پشت Modal
TabsArrow و Home/End مطابق PatternTab stop برای همه Tabها
ComboboxArrow، announce option/state و Escapeنتیجه فقط بصری
MenuArrow navigation و Escapeبازشدن فقط Hover
CarouselPause، کنترل Keyboard و announce محدودAuto-advance بی‌توقف

ترتیب Focus باید با Task و DOM معنادار باشد؛ tabindex مثبت برای وصله‌کردن Visual order بدهی می‌سازد.

فرم دسترس‌پذیر؛ Label، Help، Error و Recovery

راهنمای فرم W3C توصیه می‌کند کنترل‌ها Label توصیفی و مرتبط داشته باشند. Placeholder که با تایپ ناپدید می‌شود جای Label visible نیست.

جزءSpecTest
Labelمتن visible + ارتباط for/id یا روش معتبرName در Accessibility tree
Instructionقبل از خطا، نزدیک فیلد و قابل ارجاعبدون اتکا به Placeholder
Requiredمتن/علامت + programmatic stateرنگ تنها نباشد
ErrorSummary + field error + پیشنهاد اصلاحFocus/announce و حفظ داده
Formatمثال و inputmode/autocomplete مناسبMobile/voice/password manager
Submitحالت Loading و جلوگیری از تکرار بدون قفل مبهمSlow network و double submit

در فرم فارسی، تاریخ، شماره ملی/تلفن، کد پستی، مبلغ ریال/تومان، جداکننده و متن خطا را با کاربر واقعی تست کنید. تغییر خودکار رقم فارسی/لاتین نباید داده را خراب کند.

Authentication فراگیر و امن

  • Paste و Password manager را مسدود نکنید.
  • رمز را قابل نمایش/پنهان‌سازی با Button نام‌دار کنید.
  • OTP را با autocomplete و ورود دستی قابل استفاده نگه دارید.
  • Timeout را پیشاپیش اعلام و امکان تمدید بدهید.
  • CAPTCHA شناختی/تصویری اجباری تنها راه نباشد.
  • بازیابی حساب و تغییر شماره را به کانال واحد غیرقابل دسترس وابسته نکنید.
  • خطا نباید اطلاعات امنیتی افشا کند، اما باید راه بعدی روشن داشته باشد.

تصویر، Icon و Alt؛ هدف را منتقل کنید

نوعAlternativeنمونه
Informativeمعنا در Contextنمودار: Insight اصلی در متن/شرح
Functionalعمل/مقصد، نه ظاهر«دانلود فاکتور»، نه «آیکون فلش»
Decorativealt=""Pattern پس‌زمینه بدون اطلاعات
Text in imageترجیح متن واقعی؛ معادل کاملپوستر رویداد با جزئیات متنی
Complexخلاصه کوتاه + توضیح/داده مفصلChart با Table/Analysis

طبق راهنمای تصاویر تزئینی W3C، تصویر بی‌اطلاعات باید Alt خالی داشته باشد تا Screen reader آن را نادیده بگیرد؛ نبودن Attribute ممکن است نام فایل را اعلام کند. «برای همه تصاویر متن توصیفی بنویسید» قاعدهٔ درستی نیست.

ویدئو و صوت؛ Alternative معادل بر اساس محتوا

  • Caption دقیق، هم‌زمان و شامل صدای معنادار برای محتوای دارای گفتار.
  • Transcript ساختاریافته برای مرور، Search و دسترسی متنی.
  • Audio description وقتی اطلاعات بصری برای فهم ضروری است.
  • Player با Keyboard، Label، Focus و کنترل حجم/پخش.
  • Autoplay صوتی را اجتناب و Pause/Stop فراهم کنید.
  • زیرنویس خودکار را Draft بدانید؛ نام، عدد، اصطلاح و فارسی/انگلیسی بازبینی شوند.

رنگ، Contrast و Theme

Contrast را برای Pair واقعی متن/پس‌زمینه و Stateها بسنجید. متن عادی در سطح AA معمولاً ۴٫۵:۱ و متن بزرگ ۳:۱ نیاز دارد؛ Component و Focus نیز معیارهای non-text مربوط دارند. اندازه «بزرگ» تعریف فنی دارد؛ آن را از ظاهر حدس نزنید.

  • اطلاعات را فقط با رنگ منتقل نکنید؛ Text/Icon/Pattern اضافه کنید.
  • Placeholder، Disabled، Error، Focus و Link در همه Themeها تست شوند.
  • Dark mode ترجیح است، نه جای Contrast درست در Light mode.
  • High contrast/forced colors سیستم را در Component سفارشی امتحان کنید.
  • Brand color نامناسب را برای Text role اصلاح کنید، نه اینکه Contrast را دور بزنید.

فارسی، RTL و Bidirectional content

حوزهخطرTest
Directionاستفاده از text-align به‌جای dirAccessibility tree و متن ترکیبی
شماره/کدجابه‌جایی رقم، خط تیره و پرانتزتلفن، IBAN، کد رهگیری و Email
Iconفلش جهت‌دار اشتباهBack/Next و Progress
Table/Chartترتیب ستون و Legend مبهمScreen reader و Mobile reflow
Fontشکل حرف/عدد و وزن ناخواناZoom، Android/iOS/Windows
Languageتلفظ متن انگلیسی با زبان فارسیlang برای قطعهٔ زبان دیگر

از متن واقعی فارسی، نه Lorem ipsum، در Component و Screenshot regression استفاده کنید.

محتوای فراگیر و زبان روشن

  • Outcome و عمل را در ابتدای عنوان/دکمه روشن کنید.
  • اصطلاح ضروری را یک‌بار تعریف و نام‌ها را در Journey ثابت نگه دارید.
  • پاراگراف، List، Heading و Summary برای Scan بسازید.
  • از زبان تحقیرآمیز، ترحم‌آمیز یا کلیشه‌ای دربارهٔ معلولیت دوری کنید.
  • محدودیت، هزینه، شرط و پیامد تصمیم را پنهان نکنید.
  • ترجمهٔ ماشینی را برای متن حقوقی/سلامت/خطای بحرانی بدون Review منتشر نکنید.

سادگی نباید اطلاعات لازم یا اختیار کاربر را حذف کند؛ اصول طراحی اخلاقی و Consent در راهنمای طراحی اخلاقی تکمیل شده‌اند.

Motion، زمان و اعلان

  • prefers-reduced-motion را برای حرکت غیرضروری رعایت کنید.
  • حرکت Parallax، Flash و Auto-advance را محدود و قابل توقف کنید.
  • Timeout را اعلام، قابل تمدید و در صورت امکان قابل حذف کنید.
  • Toast کوتاه تنها مسیر اطلاع نباشد؛ State پایدار و قابل بازگشت بدهید.
  • Live region را محدود و متناسب با فوریت استفاده کنید؛ اعلان زیاد Screen reader را مختل می‌کند.
  • Loading state باید Name/State و پایان قابل تشخیص داشته باشد.

Performance و اتصال ضعیف بخشی از Inclusion است

JavaScript سنگین، تصویر بزرگ و Dependency ناپایدار برخی کاربران را بیش‌تر طرد می‌کند. Progressive enhancement، HTML معنادار، Cache، Asset budget و Recovery برای شبکهٔ قطع‌و‌وصل‌دار ضروری‌اند.

  • عمل اصلی پیش از بار کامل Third-partyها قابل استفاده باشد.
  • Form data در خطای شبکه حفظ و ارسال تکراری کنترل شود.
  • تصویر Responsive و Font محدود استفاده شود.
  • Skeleton باعث Layout shift و گیجی Focus نشود.
  • RUM بر اساس Device، Network/ISP و Assistive setting قابل تفکیک باشد، بدون Fingerprinting یا نقض Privacy.

برای Performance budget و Regression از راهنمای Core Web Vitals و RUM استفاده کنید.

AI و طراحی فراگیر؛ Draft، نه داور نهایی

AI می‌تواند Alt draft، خلاصه، Caption یا کد پیشنهاد دهد، اما Context، صحت و تجربهٔ Assistive Technology را تضمین نمی‌کند.

  • Alt تولیدی را بر اساس هدف تصویر و متن پیرامون Review کنید.
  • Caption خودکار نام، عدد، لهجه و Code-switch فارسی/انگلیسی را خطا می‌کند.
  • کد ARIA تولیدی را با Keyboard و Accessibility tree تست کنید.
  • دادهٔ معلولیت یا Session پژوهش را بدون Consent/Policy وارد ابزار عمومی نکنید.
  • مدل تشخیص معلولیت از رفتار کاربر نسازید؛ ترجیح را از تنظیم/انتخاب محترمانه بگیرید.

مرز Accessibility و SEO

ساختار Semantic، Alt مناسب، Transcript، لینک واقعی و Performance می‌توانند هم فهم کاربر و هم Crawl را بهتر کنند، اما Accessibility «فاکتور مستقیم تضمین‌شدهٔ رتبه» نیست. Conformance را برای حق دسترسی و کیفیت محصول انجام دهید، نه ترفند SEO.

Alt باید هدف تصویر را منتقل کند، نه کلمه کلیدی را تکرار کند. Heading برای Navigation و ساختار است، نه فقط جای‌دادن عبارت جست‌وجو. Speed نیز فقط یکی از ابعاد تجربه است.

هرم تست دسترس‌پذیری

W3C توصیه می‌کند Accessibility زود و در سراسر توسعه ارزیابی شود و تصریح می‌کند هیچ ابزار واحدی Conformance را تعیین نمی‌کند؛ ارزیابی انسانی آگاه لازم است.

لایهپوششمحدودیتزمان
Lint/staticAttribute و pattern پایهContext/behavior را نمی‌فهمدهر Commit
Unit/componentName/role/state و keyboard contractJourney و AT واقعی محدودCI
Automated page scanContrast، label و ruleهای قابل‌کدنویسیفقط بخشی از معیارهاCI/Staging
Manual keyboard/zoomFocus، order، reflow و operationنیاز مهارت و تکرارهر Feature/Release
Assistive technologyScreen reader، voice، magnificationترکیب‌ها متنوع‌اندمسیر بحرانی
User testingBarrier واقعی، strategy و mental modelConformance audit کامل نیستDiscovery/Validation

ماتریس تست پیشنهادی برای سایت فارسی

محورترکیب حداقلTask
KeyboardTab/Shift+Tab/Enter/Space/Arrow/EscapeNav، Dialog، Form، Checkout
Screen readerحداقل ترکیب‌های هدف محصول روی Desktop/MobileHeading، Form، Error، dynamic update
Zoom/Reflow۲۰۰% و viewport باریکبدون scroll دوبعدی غیرضروری/پوشاندن عمل
ContrastLight/Dark/High contrast و StateهاText، Icon، Focus، Error
MotionReduced motionCarousel، transition، loading
RTL/Bidiفارسی + عدد/Email/کد انگلیسیForm، Table، Breadcrumb، OTP
Networkکند/قطع/Retryحفظ داده و Recovery

ترکیب Browser/AT را بر اساس Analytics، کاربران و Support matrix انتخاب و نسخه‌ها را ثبت کنید؛ «روی یک Screen reader کار کرد» پوشش جهانی نیست.

Severity و اولویت اصلاح

سطحتعریفنمونهSLA نمونه
BlockerTask بحرانی غیرممکن و Workaround معقول نداردپرداخت فقط Mouse، CAPTCHA بدون جایگزینBlock release/Hotfix
Criticalمانع شدید یا ریسک مستقل‌بودنForm بدون Label/Error قابل درکپیش از Release
HighTask ممکن ولی پرخطا/پرهزینهFocus ضعیف یا Heading آشفتهSprint جاری/بعد
Mediumاصطکاک با Workaround روشنLink text مبهمBacklog زمان‌دار
Lowبهبود بدون مانع محسوستوضیح تکمیلی بهترMaintenance

SLA را با Risk سازمان تنظیم کنید؛ معیار WCAG، تعداد کاربران، Frequency و حساسیت Journey در اولویت دخیل‌اند.

Definition of Done دسترس‌پذیر

  • نیازهای Accessibility و WCAG criterion مرتبط در Story هستند.
  • Design annotation شامل name/role/state، Focus، Keyboard، Error و Motion است.
  • Component از الگوی تأییدشده Design system استفاده می‌کند.
  • Content، Alt، Heading، Link و Label Review شده‌اند.
  • Automated scan خطای Blocker/Critical ندارد.
  • Manual keyboard، Zoom/Reflow، Contrast و RTL پاس شده‌اند.
  • Dynamic update با AT هدف آزموده شده است.
  • Loading، Empty، Error، Timeout و Offline state پوشش دارند.
  • Known issue با Impact، Workaround، Owner و Deadline ثبت است.
  • Regression test و Monitoring پس از Release وجود دارد.

RACI؛ مسئولیت فقط با Front-end نیست

نقشمسئولیتتحویل
ProductScope، Priority، Risk و OutcomeCharter و roadmap
Researchمشارکت فراگیر و Barrier evidenceNeed/Barrier map
DesignInteraction، visual و annotationPrototype/spec
Contentزبان، Alt، Caption و error copyContent QA
EngineeringSemantic، behavior، tests و fixAccessible build
QA/Accessibilityروش، matrix، evidence و severityEvaluation report
SupportFeedback و راه جایگزینIssue intake/runbook
Procurement/Legalالزام Supplier و حوزه حقوقیContract/acceptance

ممیزی وب‌سایت موجود؛ از Critical journey شروع کنید

  1. Scope صفحه، Template، Component، PDF/Video و Third-party را ثبت کنید.
  2. هدف WCAG، Browser/AT support و محدودیت حقوقی/قراردادی را تعیین کنید.
  3. Journeyهای ورود، ثبت‌نام، جست‌وجو، خرید/فرم و پشتیبانی را اولویت دهید.
  4. نمونه‌ای نماینده از Template، State و Locale انتخاب کنید.
  5. Automated و Manual/AT test را با Evidence اجرا کنید.
  6. Issue را به Component/Root cause وصل کنید، نه فقط URL.
  7. Fix را در Design system و CMS guardrail ببرید.
  8. Regression و User validation را اجرا و Report محدودیت‌دار منتشر کنید.

یک Badge «Accessible» دائمی نسازید؛ Version، Scope، تاریخ، روش، Known issue و کانال Feedback را شفاف کنید.

مثال فرضی؛ فرم درخواست خدمت در ایران

فرم هفت‌مرحله‌ای با OTP، Upload مدرک و پرداخت، نرخ رهاشدگی بالایی دارد. Audit نشان می‌دهد Labelها Placeholder هستند، Focus پس از خطا گم می‌شود، Timer OTP تمدید نمی‌شود، Upload فقط Drag است و مبلغ تومان در API ریال بدون توضیح نمایش داده می‌شود.

  1. Journey با کاربران Screen reader، کم‌بینا، motor و سواد دیجیتال متفاوت تست می‌شود.
  2. Label visible، Error summary و Focus management اضافه می‌شود.
  3. Drag با File picker و Keyboard معادل می‌شود.
  4. OTP Paste/autocomplete، Resend و تمدید زمان می‌گیرد.
  5. دادهٔ مرحله‌های قبل حفظ و ورود تکراری حذف می‌شود.
  6. واحد مبلغ در UI/API/درگاه Contract می‌شود.
  7. Task success و Error recovery در کنار Conversion اندازه‌گیری می‌شود.

اگر Completion بهتر شود، Attribution را با Before/After کنترل‌شده یا Experiment و Guardrail بررسی کنید؛ از یک تغییر هم‌زمان نتیجهٔ قطعی نگیرید.

برنامه ۳۰/۶۰/۹۰روزه طراحی فراگیر

بازهاقدامخروجی
روز ۱ تا ۳۰Charter، Scope، Baseline، آموزش نقش‌محور و Critical fixRisk/Barrier map، target و backlog
روز ۳۱ تا ۶۰Token/Component، Research مشارکتی، Test matrix و CILibrary، DoD و evidence pack
روز ۶۱ تا ۹۰Journey audit، اصلاح ریشه‌ای، user validation و Feedback loopEvaluation report، SLA و roadmap فصلی

چک‌لیست نهایی طراحی وب فراگیر

  • افراد دارای معلولیت در Research/Validation حضور و جبران خدمت دارند.
  • هدف WCAG ۲.۲ و Scope محصول صریح است.
  • چهار اصل POUR به Acceptance criterion تبدیل شده‌اند.
  • HTML native بر ARIA سفارشی ترجیح دارد.
  • Keyboard pattern، Focus و Escape/Return تعریف شده‌اند.
  • فرم Label visible، Help، Error و Recovery دارد.
  • Authentication با Password manager/Paste و جایگزین قابل استفاده است.
  • Alt بر اساس هدف تصویر است؛ تزئینی Alt خالی دارد.
  • Caption/Transcript و در صورت نیاز Audio description وجود دارد.
  • Contrast همه State/Themeها و Color independence تست شده‌اند.
  • Zoom، Reflow، Text spacing و High contrast پاس شده‌اند.
  • فارسی/RTL/Bidi با عدد، Email، کد و واحد واقعی تست شده‌اند.
  • Reduced motion، Timeout و Live update کنترل دارند.
  • Automated، Manual، AT و User test ترکیب شده‌اند.
  • Blocker/Critical Release gate و SLA دارند.
  • Feedback دسترس‌پذیر، Owner و پیگیری شفاف دارد.

پرسش‌های متداول طراحی فراگیر

تفاوت طراحی فراگیر و دسترس‌پذیری چیست؟

دسترس‌پذیری بر قابل استفاده بودن فناوری برای افراد دارای معلولیت و معیارهایی مانند WCAG تمرکز دارد. طراحی فراگیر فرایندی گسترده‌تر برای شناخت طرد، مشارکت افراد متنوع و ساخت راه‌های معادل است؛ این دو مکمل‌اند.

آیا WCAG ۲.۲ سطح AA برای همه پروژه‌ها کافی است؟

AA Baseline رایجی است، اما هدف واقعی به محصول، کاربران، قرارداد و قانون حوزه بستگی دارد. پاس‌کردن AA نیز تضمین تجربهٔ عالی برای همه نیست؛ آزمون Usability و کاربران دارای معلولیت لازم است.

آیا ابزار خودکار می‌تواند دسترس‌پذیری سایت را تأیید کند؟

خیر. ابزار بخشی از خطاهای قابل‌کدنویسی را می‌یابد. Keyboard، Focus، معنی Alt، وضوح خطا، رفتار Screen reader و موفقیت Task به ارزیابی انسانی و User testing نیاز دارند.

آیا همه تصاویر باید Alt توصیفی داشته باشند؟

خیر. تصویر Informative به Alternative متناسب با Context، تصویر Functional به توضیح عمل و تصویر Decorative به alt="" نیاز دارد. توصیف اضافه می‌تواند برای Screen reader نویز بسازد.

آیا طراحی فراگیر سئو را بهتر می‌کند؟

برخی روش‌ها مانند Semantic HTML، Alt درست، Transcript و Performance با SEO هم‌راستا هستند، اما Accessibility تضمین رتبه یا ترفند SEO نیست. آن را برای دسترسی و کیفیت بسازید و اثر جست‌وجو را جدا بسنجید.

جمع‌بندی؛ فراگیری یک Release نیست، یک سیستم است

طراحی فراگیر با Contrast checker تمام نمی‌شود. از اینکه چه کسی در Discovery حضور دارد تا Content، Component، CI، Support و Procurement ادامه دارد. WCAG زبان مشترک و Baseline می‌دهد؛ تجربهٔ افراد دارای معلولیت نشان می‌دهد این Baseline در جهان واقعی چگونه کار می‌کند.

بهترین نقطهٔ شروع یک Journey بحرانی است: مانع را با کاربر پیدا کنید، Root cause را در Component و فرایند اصلاح کنید، با Manual/AT/User test اعتبار دهید و Regression را در Definition of Done ببندید. محصولی فراگیرتر است که افراد بیش‌تری بتوانند مستقل، امن و با اختیار کارشان را کامل کنند.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *