کوکی رضامندی تک رسائی: رضامندی بینرز کے لیے WCAG 2.2 کی تعمیل
ایک کوکی بینر جسے کی بورڈ صارفین بند نہ کر سکیں، اسکرین ریڈرز بیان نہ کر سکیں، یا رنگ کی تمیز نہ کر پانے والے زائرین پڑھ نہ سکیں — یہ صرف خراب UX نہیں بلکہ دو محاذوں پر تعمیلی ناکامی ہے۔ جب سے یورپی رسائی ایکٹ جون 2025 میں نافذ ہوا، EU صارفین کی خدمت کرنے والی تجارتی ویب سائٹس پر رضامندی کے انٹرفیس کو WCAG 2.1 سطح AA پر پورا اترنا لازمی ہے، اور 2026 کے لیے WCAG 2.2 کی سختی سے سفارش کی جاتی ہے۔ GDPR کی شرط کے ساتھ کہ رضامندی "آزادانہ طور پر دی گئی، مخصوص، باخبر اور واضح" ہو، ناقابل رسائی بینرز اب دوہرے قانونی خطرے کا باعث بنتے ہیں۔ یہ گائیڈ بالکل وضاحت کرتا ہے کہ 2026 میں WCAG کے مطابق کوکی بینر کیسا نظر آتا ہے۔
رسائی اور رضامندی اب کیوں اوور لیپ ہوتے ہیں
GDPR تقاضا کرتا ہے کہ رضامندی ہر صارف سے حاصل کی جا سکے، نہ صرف ان سے جو بینر دیکھ اور کلک کر سکتے ہیں۔ یورپی ڈیٹا پروٹیکشن بورڈ نے واضح کیا ہے کہ اگر ڈیٹا کا موضوع رضامندی کے انٹرفیس کے ساتھ بامعنی طریقے سے تعامل نہیں کر سکتا — کسی معذوری کی وجہ سے جس کو سائٹ نے نظرانداز کیا ہو — تو رضامندی درست طور پر حاصل نہیں ہوئی۔ اس کا مطلب ہے کہ کوکیز اصلاً لوڈ نہیں ہونی چاہیے تھیں۔
رسائی کی جانب سے، یورپی رسائی ایکٹ (EAA) جو EU رکن ممالک میں قومی قانون میں شامل کیا گیا ہے، صارف خدمات پیش کرنے والی نجی شعبے کی ویب سائٹس اور ایپس کے لیے WCAG 2.1 AA کو کم از کم معیار بناتا ہے۔ جرمانے کا نظام ملک کے مطابق مختلف ہے لیکن عموماً فی خلاف ورزی €50,000 سے €500,000 تک ہوتا ہے، اور مسلسل عدم تعمیل پر مارکیٹ واپسی کے احکامات بھی ہیں۔
کوکی بینرز کے لیے WCAG کی بنیادی ضروریات
کی بورڈ آپریبیلیٹی
ہر بینر کنٹرول — قبول کریں، مسترد کریں، ترجیحات منظم کریں، بند کریں — صرف کی بورڈ سے قابل رسائی اور قابل آپریٹ ہونا چاہیے۔ صارفین کو منطقی ترتیب میں Tab کے ذریعے بٹنوں سے گزرنے اور انہیں Enter یا Space سے فعال کرنے کے قابل ہونا چاہیے۔ فوکس پس منظر کے خلاف کم از کم 3:1 کنٹراسٹ تناسب کے ساتھ نظر آنا چاہیے۔
موڈل بینرز میں فوکس ٹریپنگ
اگر بینر صفحے کے باقی حصے کے ساتھ تعامل کو روکتا ہے، تو کی بورڈ فوکس بینر کے اندر قید ہونا چاہیے جب تک صارف کوئی انتخاب نہ کرے۔ صارفین بینر سے Tab کے ذریعے باہر نہیں جا سکیں تاکہ نیچے کے صفحے کو اسکرول کر سکیں۔ جب فوکس قید تھا اور بینر بند ہو جائے، تو فوکس اس عنصر پر واپس آنا چاہیے جس نے بینر کو ٹرگر کیا تھا یا کسی معقول ڈیفالٹ پر۔
اسکرین ریڈر اعلانات
بینر کو قابل رسائی نام اور کردار کے ساتھ ڈائیلاگ کے طور پر اعلان کرنا چاہیے۔ role="dialog" یا role="alertdialog" کے ساتھ aria-labelledby استعمال کریں جو بینر کی سرخی کی طرف اشارہ کرے اور aria-describedby جو وضاحتی متن کی طرف اشارہ کرے۔
رنگ کنٹراسٹ
باڈی ٹیکسٹ کو پس منظر کے خلاف 4.5:1 کنٹراسٹ پورا کرنا چاہیے؛ بڑے متن (18pt+ یا 14pt بولڈ) کو 3:1 کی ضرورت ہے۔ بٹن کا متن، آئیکنز، اور فوکس انڈیکیٹرز کے اپنے کنٹراسٹ کے کم از کم معیار ہیں۔ سفید پس منظر پر ہلکے سرمئی رنگ کا "مسترد کریں" بٹن ایک عام WCAG ناکامی ہے جو ہم آڈٹس میں دیکھتے ہیں۔
صرف رنگ پر انحصار نہ کریں
قبول اور مسترد کو الگ کرنے کے لیے صرف رنگ پر انحصار نہ کریں۔ الگ لیبلز، آئیکنز، یا شکلیں استعمال کریں تاکہ رنگ اندھے پن والے صارفین بٹنوں میں فرق کر سکیں۔
ڈارک پیٹرنز اور رسائی
WCAG 2.2 نئے معیارات متعارف کراتا ہے جو براہ راست ڈارک پیٹرنز کو ہدف بناتے ہیں — رضامندی کے لیے خاص طور پر متعلقہ:
- 3.3.8 قابل رسائی توثیق — رضامندی کی رگڑ کے طور پر علمی پہیلیوں پر پابندی ہے۔
- 3.3.7 اضافی اندراج — صارفین کو صرف رضامندی واپس لینے کے لیے معلومات دوبارہ درج نہیں کرنی چاہیے۔
- 2.4.11 فوکس مبہم نہیں — بینر خود اس کے پیچھے کے عناصر کے فوکس انڈیکیٹر کو مبہم نہیں کرنا چاہیے۔
- 2.5.7 گھسیٹنے کی حرکات — اگر آپ کا بینر گھسیٹ کر قبول کرنے کا تعامل استعمال کرتا ہے، تو سنگل پوائنٹر متبادل موجود ہونا چاہیے۔
RTL اور بین الاقوامی کاری
رسائی دائیں سے بائیں زبانوں (عربی، عبرانی، فارسی، اردو) اور اسکرین ریڈر تلفظ تک پھیلتی ہے:
- بینر پر dir="rtl" سیٹ کریں جب دستاویز کی زبان RTL ہو تاکہ بٹن کی ترتیب اور فوکس بہاؤ پڑھنے کی سمت سے میل کھائے۔
- ترجمہ شدہ بینر کاپی پر درست lang صفات استعمال کریں تاکہ اسکرین ریڈرز صحیح صوتیات کے ساتھ الفاظ ادا کریں۔
- آئیکونوگرافی کو آئینہ دار بنائیں — چیورونز، تیر، اور پیشرفت کے اشارے RTL مقامات کے لیے پلٹنے چاہئیں۔
WCAG تعمیل کے لیے اپنے بینر کی جانچ
کسی ایک ٹول پر انحصار نہ کریں۔ خودکار اسکیننگ کو حقیقی معاون ٹیکنالوجی ٹیسٹنگ کے ساتھ ملائیں:
- axe DevTools یا Lighthouse — WCAG ناکامیوں کا تقریباً 30-40% خودکار طور پر پکڑتا ہے۔
- Windows پر NVDA یا JAWS، Mac/iOS پر VoiceOver، Android پر TalkBack — حقیقی اسکرین ریڈرز سے جانچیں۔ کیا بینر کو صرف اسکرین ریڈر استعمال کرکے اعلان کیا جا سکتا ہے، نیویگیٹ کیا جا سکتا ہے، اور بند کیا جا سکتا ہے؟
- صرف کی بورڈ نیویگیشن — اپنا ماؤس نکال دیں۔ اگر آپ قبول، مسترد، اور ترجیحات منظم نہیں کر سکتے، تو کی بورڈ صارفین بھی نہیں کر سکتے۔
- رنگ اندھا پن کی نقالی — Chrome DevTools میں بصارت کی کمزوری کے بلٹ ان سمیولیٹرز ہیں۔ جانچیں کہ قبول اور مسترد پروٹینوپیا، ڈیوٹیرانوپیا، اور ٹرائٹانوپیا کے تحت قابل تمیز ہیں۔
- 400% تک زوم کریں — WCAG تقاضا کرتا ہے کہ مواد افقی اسکرولنگ کے بغیر 400% زوم پر قابل استعمال رہے۔ مقررہ پوزیشن والے بینرز اکثر اس ٹیسٹ میں ناکام رہتے ہیں۔
عام رسائی کی ناکامیاں جو ہم دیکھتے ہیں
- گیئر آئیکن کے پیچھے مسترد کریں چھپانا — ڈارک پیٹرن اور رسائی کی ناکامی (آئیکن بٹن پر کوئی قابل رسائی نام نہیں)۔
- فوکس کبھی بینر تک نہیں پہنچتا — بینرز جو بصری توجہ چرالیتے ہیں لیکن Tab ترتیب میں چھوڑ دیے جاتے ہیں۔
- فوکس ٹریپ کے بغیر موڈل بینر — صارفین Tab کے ذریعے پس منظر صفحے میں جا سکتے ہیں جبکہ بینر تعامل روکنے کا دعویٰ کرتا ہے۔
- ترجیح تبدیلیوں پر aria-live نہیں — اسکرین ریڈر صارفین یہ تصدیق نہیں سنتے کہ ان کا انتخاب محفوظ ہو گیا۔
- lang صفت کے بغیر ترجمہ شدہ بینرز — اسکرین ریڈرز ہسپانوی متن کو انگریزی صوتیات کے ساتھ ادا کرتے ہیں۔
FlexyConsent رسائی کیسے فراہم کرتا ہے
FlexyConsent باکس سے باہر WCAG 2.2 AA کو پورا کرتا ہے:
- تمام کنٹرولز مرئی 3:1 فوکس انڈیکیٹرز کے ساتھ کی بورڈ آپریبل ہیں۔
- aria-labelledby اور aria-describedby کے ساتھ مناسب role="dialog"۔
- اختیاری بینرز کے لیے Escape سے بند کرنے کے ساتھ فوکس ٹریپ۔
- ہر متن عنصر پر 4.5:1+ کنٹراسٹ، مسترد کریں سمیت۔
- عربی، عبرانی، فارسی، اور اردو مقامات کے لیے خودکار RTL پلٹاؤ۔
- درست اسکرین ریڈر تلفظ کے لیے ہر ترجمے پر lang صفت سیٹ کی گئی۔
- زوم-برداشت لے آؤٹ جو 400% پر قابل استعمال رہتا ہے۔