تقرير إصلاح إمكانية الوصول النموذجي. ⁨Harbor & Pine⁩ متجر وهمي أنشأناه بعيوب شائعة في إمكانية الوصول، ثم اختبرناه بالمحرك نفسه الذي يفحص موقعك.

افحص موقعك مجانًا

نموذج تقرير إصلاح إمكانية الوصول

harborandpine.example

المنصة:
Shopify
تاريخ الإنشاء:
24 سبتمبر 2026
الصفحات المختبرة:
9
المحرك:
axe-core 4.13.0

الملخص

تكتشف الاختبارات الآلية جزءًا من مشكلات إمكانية الوصول في الموقع، لا كلها. يصف هذا التقرير ما وجدته اختباراتنا وكيفية إصلاحه. وهو ليس استشارة قانونية، ولا يشهد بالامتثال لقانون ADA أو القانون الأوروبي لإمكانية الوصول أو أي قانون.

نظرة عامة

P1 · أصلِح أولًايعيق الزوار في الصفحات الأساسية
8
P2 · أصلِح لاحقًاعوائق خطيرة أو متوسطة
0
P3 · حسِّنمشكلات طفيفة وممارسات فضلى
2

الحالات حسب درجة الخطورة

حرج
73
خطير
58
متوسط
25
طفيف
0
الإخفاقات المؤكَّدةأنواع المشكلات التي فشلت في اختبار آلي
10
يحتاج إلى مراجعةرُصدت، لكنها تحتاج إلى حكم بشري
4
الفحوصات الناجحةقواعد آلية بلا إخفاقات
32
لم يُختبرخطوات الرحلة والفحوصات اليدوية
7

عدد الصفحات التي اختبرناها: 9، منها 4 عيّنة من خريطة موقعك. التواريخ المستهدفة مقترحات مبنية على درجة الخطورة؛ اتفق مع مطوّرك على التواريخ النهائية.

نظرة عامة على الموقع

اكتُشف من أدلة عامة في الصفحات المختبرة. قد يكون التصنيف خاطئًا؛ وهو لا يحدد إلا الفحوصات الإضافية التي تُشغَّل.

نوع الموقع

  • متجر إلكترونيثقة عالية
    • يعمل على ⁨Shopify⁩، وهي منصة متاجر
    • رابط إلى سلة تسوق
    • روابط منتجات أو متجر
  • صفحة هبوطثقة متوسطة
    • روابط إلى 6 صفحات داخلية فقط

التقنيات المكتشفة

  • Shopifyثقة عالية

    ملفات أو نصوص برمجية من ⁨Shopify⁩ في الصفحة

الفحوصات لهذا الموقع

  • الفحوصات العامة: إمكانية الوصول وSEO والسرعة والأمان والبريد الإلكتروني
  • وحدة التجارة الإلكترونية: صفحات المجموعة والمنتج والسلة، ورحلة تسوق بلوحة المفاتيح حتى زر إتمام الشراء
  • ملاحظات Shopify: خطوات الإصلاح في القالب ولوحة الإدارة؛ وتُعرض الترويسات وملفات تعريف الارتباط التي تديرها المنصة للاطلاع

رحلة التسوق بلوحة المفاتيح

حاولنا التسوق باستخدام لوحة المفاتيح فقط (Tab وShift+Tab وEnter وSpace وEscape)، كما يفعل من لا يستطيعون استخدام الفأرة. نضيف منتجًا واحدًا إلى السلة في جلسة مؤقتة ونتوقف عند زر إتمام الشراء: لا ندخل صفحة إتمام الشراء أبدًا، ولا نكتب بيانات شخصية أو بيانات دفع. الهدف: الانتقال من الصفحة الرئيسية إلى زر إتمام الشراء باستخدام لوحة المفاتيح وحدها.

  1. 01الوصول إلى التنقل الرئيسي

    ناجح

    وصل التركيز إلى «⁨Shop⁩» في قائمة التنقل بعد 21 ضغطة على Tab.

    المتوقع: ⁨يصل الضغط على Tab من أعلى الصفحة الرئيسية إلى روابط التنقل الرئيسي.⁩

    • ملاحظة: ⁨احتجزت لافتة ملفات تعريف الارتباط تركيز لوحة المفاتيح إلى أن ضغطنا Enter على «⁨Accept all⁩».⁩
    كيفية تكرار المشكلة

    https://harborandpine.example/

    1. افتح الصفحة الرئيسية.
    2. انقر على شريط العنوان في المتصفح، ثم اضغط Tab مرارًا (يعيدك Shift+Tab إلى الخلف).

    ترتيب التركيز الذي لاحظناه

    «⁨Shop⁩»

  2. 02فتح منتج من مجموعة

    ناجح

    وصل التركيز إلى «⁨Trail Daypack 22L⁩» بعد 9 ضغطات على Tab، وفتح Enter الصفحة ⁨/products/trail-daypack⁩.

    المتوقع: ⁨يصل Tab إلى منتج في شبكة المجموعة، ويفتح Enter صفحته.⁩

    كيفية تكرار المشكلة

    https://harborandpine.example/collections/all

    1. افتح ⁨/collections/all⁩.
    2. اضغط Tab إلى أن يُحدَّد منتج في الشبكة، ثم اضغط Enter.

    ترتيب التركيز الذي لاحظناه

    «⁨Harbor & Pine⁩» → «⁨Shop⁩» → «⁨New arrivals⁩» → «⁨Our story⁩» → body > header.site > div.icons > button → «⁨Account⁩» → body > header.site > div.icons > a → «⁨FeaturedPrice, low to highPrice, high to low⁩» → «⁨Trail Daypack 22L⁩»

  3. 03اختيار الخيارات والكمية

    فاشل

    لا يستطيع 3 من خيارات المنتج تلقّي تركيز لوحة المفاتيح: «⁨S⁩»، «⁨M⁩»، «⁨L⁩». فهي تستجيب للفأرة، لكن مستخدم لوحة المفاتيح لا يستطيع اختيارها.

    المتوقع: ⁨يمكن الوصول بمفتاح Tab إلى كل خيارات المنتج (المقاس، واللون، والمتغيّر) وإلى حقل الكمية.⁩

    2.1.1 Keyboard · الثقة: عالية

    اختيار الخيارات والكمية: العنصر الفاشل محدَّدًا
    اختيار الخيارات والكمية: العنصر الفاشل محدَّدًا
    كيفية تكرار المشكلة

    https://harborandpine.example/products/trail-daypack

    1. افتح ⁨/products/trail-daypack⁩.
    2. اضغط Tab من أعلى الصفحة ولاحظ عناصر التحكم التي تتلقى التركيز قبل زر الإضافة إلى السلة.

    ترتيب التركيز الذي لاحظناه

    «⁨Harbor & Pine⁩» → «⁨Shop⁩» → «⁨New arrivals⁩» → «⁨Our story⁩» → … و5 عناصر أخرى … → body > header.site > div.icons > a → div.page.product > div.gallery > div.thumbs > button → div.page.product > div.gallery > div.thumbs > button → div.page.product > div.gallery > div.thumbs > button → div.page.product > div > div.swatches > button → div.page.product > div > div.swatches > button → div.page.product > div > div.swatches > button → «1» → «⁨Add to cart⁩»

    العنصر
    <div class="size-option" data-fr="opt-1">S</div>
  4. 04الإضافة إلى السلة باستخدام لوحة المفاتيح

    يحتاج إلى مراجعة

    نجح الضغط على Enter في زر الإضافة إلى السلة (تغيّر عدد عناصر السلة في رأس الصفحة، ظهرت رسالة «أُضيف إلى السلة»)، لكننا لم نجد رسالة حالة أو نافذة حوار تتلقى التركيز، لذا قد لا يسمع مستخدمو قارئات الشاشة أن المنتج أُضيف.

    المتوقع: ⁨يضيف الضغط على Enter في زر الإضافة إلى السلة المنتجَ، ويُعلَن التأكيد: برسالة حالة، أو نافذة حوار تأخذ التركيز، أو صفحة السلة.⁩

    4.1.3 Status Messages · الثقة: متوسطة

    الإضافة إلى السلة باستخدام لوحة المفاتيح: الصفحة في هذه الخطوة
    الإضافة إلى السلة باستخدام لوحة المفاتيح: الصفحة في هذه الخطوة
    كيفية تكرار المشكلة

    https://harborandpine.example/products/trail-daypack

    1. افتح ⁨/products/trail-daypack⁩.
    2. اضغط Tab إلى أن يصل التركيز إلى زر الإضافة إلى السلة، ثم اضغط Enter.
    3. استمع باستخدام قارئ شاشة (VoiceOver: Cmd+F5) إلى رسالة التأكيد.
  5. 05تعديل السلة والوصول إلى إتمام الشراء

    ناجح

    وصل التركيز إلى كل عناصر التحكم في السلة (4) وإلى زر إتمام الشراء («⁨Check out⁩») خلال 12 ضغطة على Tab. ولم نضغط عليه.

    المتوقع: ⁨يمكن الوصول بمفتاح Tab إلى حقول الكمية وأزرار الحذف وزر إتمام الشراء كلها.⁩

    كيفية تكرار المشكلة

    https://harborandpine.example/cart

    1. أضف أي منتج إلى السلة وافتح صفحة السلة.
    2. اضغط Tab وتحقق من أن حقول الكمية وأزرار الحذف وزر إتمام الشراء تتلقى التركيز كلها.

    ترتيب التركيز الذي لاحظناه

    «⁨Harbor & Pine⁩» → «⁨Shop⁩» → «⁨New arrivals⁩» → «⁨Our story⁩» → body > header.site > div.icons > button → «⁨Account⁩» → body > header.site > div.icons > a → «1» → tbody > tr > td > button.remove → «2» → tbody > tr > td > button.remove → «⁨Check out⁩»

  6. 06إتمام الشراء

    لم يُختبر

    نتوقف عند زر إتمام الشراء: لا ندخل أبدًا إلى صفحة إتمام الشراء، ولا ننشئ طلبًا، ولا نكتب بيانات دفع. في Shopify، تتولى Shopify تشغيل صفحات إتمام الشراء، لا قالبك. افحص إتمام الشراء يدويًا (راجع الفحوصات اليدوية).

خريطة ادعاءات الخطاب

كل ادعاء في الخطاب مطابَقًا مع أدلة الفحص. مقارنة وقائعية، لا استشارة قانونية.

  • “Images lack alternative text, so product photos are not described.”

    صور بلا بدائل نصية. 10 حالات في 3 من أصل 5 من الصفحات المختبرة.

    image-alt

    مؤكَّد
  • “Text has insufficient color contrast against its background, including sale badges and prices.”

    تباين ألوان منخفض. 16 حالة في 5 من أصل 5 من الصفحات المختبرة.

    color-contrast

    مؤكَّد
  • “The website cannot be navigated using a keyboard alone.”

    الوصول بلوحة المفاتيح والتركيز. يعلق تركيز لوحة المفاتيح في لافتة ملفات تعريف الارتباط.

    مؤكَّد
  • “Form fields do not have labels, including the newsletter sign-up and the quantity fields in the cart.”

    حقول نماذج بلا تسميات. 4 حالات في 3 من أصل 5 من الصفحات المختبرة.

    select-name, label

    مؤكَّد
  • “Product videos do not have captions.”

    الترجمة النصية للفيديو والصوت. لا تستطيع الفحوصات الآلية الحكم على الترجمة النصية. تحقّق من أن كل فيديو للمنتجات أو للعلامة التجارية يتضمن ترجمة نصية دقيقة ونصًا مكتوبًا كاملًا.

    فحص يدوي
  • “Our client is legally blind and uses screen reader software.”

    مشكلات أخرى. هذا ادعاء عام. اختبر المسارات الأساسية (البحث، وصفحة المنتج، والإضافة إلى السلة، وإتمام الشراء) باستخدام قارئ شاشة مثل VoiceOver أو NVDA.

    فحص يدوي

خطة المعالجة

المشكلات مرتبة حسب الأولوية، مع المسؤول عن كل منها والتاريخ المستهدف
الأولويةالمشكلةالحالةWCAGالحالاتالمسؤولالتاريخ المستهدف
P1تركيز لوحة المفاتيح عالق في لافتة ملفات تعريف الارتباطمؤكَّد2.1.21مزوّد التطبيق2026-10-08
P1لا يمكن اختيار خيارات المنتج بلوحة المفاتيحمؤكَّد2.1.11مطوّر القالب2026-10-08
P1يجب أن يكون للأزرار نص واضحمؤكَّد4.1.241مطوّر القالب2026-10-08
P1يجب أن يكون للصور نص بديلمؤكَّد1.1.122محرر المحتوى2026-10-08
P1يجب أن تكون لعناصر النماذج تسمياتمؤكَّد4.1.27مطوّر القالب2026-10-08
P1يجب أن يكون لعنصر select اسم قابل للوصولمؤكَّد4.1.21مطوّر القالب2026-10-08
P1يجب أن يكون للروابط نص واضحمؤكَّد2.4.4, 4.1.236مطوّر القالب2026-10-08
P1يجب أن تستوفي العناصر الحد الأدنى لنسبة تباين الألوانمؤكَّد1.4.322صاحب المتجر (إعدادات لوحة الإدارة)2026-10-08
P3ينبغي أن يكون كل محتوى الصفحة داخل معالممؤكَّدممارسة فضلى18مطوّر القالب2026-11-23
P3ينبغي ألا تزيد مستويات العناوين إلا بمستوى واحد في كل مرةمؤكَّدممارسة فضلى7مطوّر القالب2026-11-23

كيف تصلح كل مشكلة

P1حرجإخفاق مؤكَّدWCAG 2.1.2

تركيز لوحة المفاتيح عالق في لافتة ملفات تعريف الارتباط

الجهد: متوسط · المسؤول: مزوّد التطبيق · 2.1.2 No Keyboard Trap

عندما يضغط مستخدم لوحة المفاتيح على Tab، يدور التركيز بين عناصر قليلة ولا يصل أبدًا إلى بقية الصفحة.

لا يستطيع من يستخدمون لوحة المفاتيح فقط أو قارئات الشاشة التسوق إطلاقًا إذا علق التركيز (WCAG 2.1.2 No Keyboard Trap).

الدليل

اكتُشف بواسطة
اختبار لوحة المفاتيح (التنقل بمفتاح Tab عبر الصفحة الرئيسية)
الحالة · الثقة
إخفاق مؤكَّد · عالية
تاريخ الاكتشاف
24 سبتمبر 2026 (UTC)
المكان
حالة واحدة في صفحة واحدة

المتوقع: يؤدي الضغط على Tab إلى التنقل عبر كل العناصر التفاعلية في الصفحة ثم إلى بقية الصفحة.

الملاحَظ: بعد 40 ضغطة على Tab، ظل التركيز يدور بين: ⁨Settings⁩، ⁨Accept all⁩.

كيفية تكرار المشكلة
  1. افتح الصفحة الرئيسية.
  2. انقر على شريط العنوان، ثم اضغط Tab مرارًا.
  3. يظل التركيز يعود إلى العناصر القليلة نفسها.
العناصر الفاشلة (المعروض منها: 6)
button#cc-settings
Settings
button#cc-accept.primary
Accept all
button#cc-settings
Settings
button#cc-accept.primary
Accept all
button#cc-settings
Settings
button#cc-accept.primary
Accept all
الصفحات المتأثرة (1)
  • https://harborandpine.example/

كيف تصلحها

إرشادات عامة
  1. ابحث في إعدادات تطبيق لافتة ملفات تعريف الارتباط أو الموافقة عن خيار لإمكانية الوصول أو لمصيدة التركيز، أو اطلب من المزوّد إصلاح ذلك.
  2. لا يجوز للنافذة المشروطة (modal) أن تُبقي التركيز داخلها إلا وهي مفتوحة، ويجب أن تُغلق بمفتاح Escape وأن تعيد التركيز إلى موضعه السابق.
أصلِح بالذكاء الاصطناعياعرض الأمر

الصق هذا في ChatGPT أو Claude أو Cursor أو Copilot مع ملف القالب الخاص بك. راجع التغيير قبل نشره.

لديّ متجر Shopify (قالب Online Store 2.0 وقوالب Liquid) على ⁨harborandpine.example⁩. اكتشف اختبار لإمكانية الوصول هذه المشكلة وأريد إصلاحها في قالبي.

المشكلة: تركيز لوحة المفاتيح عالق في لافتة ملفات تعريف الارتباط (WCAG 2.1.2).
المكان: حالة واحدة في صفحة واحدة، مثل /.

أحد العناصر الفاشلة، كما عرضه المتصفح:
```html
Settings
```

لماذا يهم ذلك: ⁨لا يستطيع من يستخدمون لوحة المفاتيح فقط أو قارئات الشاشة التسوق إطلاقًا إذا علق التركيز (WCAG 2.1.2 No Keyboard Trap).⁩

ما يجب تغييره:
- ابحث في إعدادات تطبيق لافتة ملفات تعريف الارتباط أو الموافقة عن خيار لإمكانية الوصول أو لمصيدة التركيز، أو اطلب من المزوّد إصلاح ذلك.
- لا يجوز للنافذة المشروطة (modal) أن تُبقي التركيز داخلها إلا وهي مفتوحة، ويجب أن تُغلق بمفتاح Escape وأن تعيد التركيز إلى موضعه السابق.

قواعد لإجابتك:
- اعرض التعديل الدقيق قبل التغيير وبعده، وحدّد الملف أو الإعداد الذي يُطبَّق فيه. إذا احتجت إلى رؤية ملفي أولًا، فاطلب مني لصقه.
- حافظ على التصميم المرئي وعلى كل السلوك الحالي كما هو.
- لا تختلق أسماء منتجات أو أسعارًا أو نصوصًا؛ استخدم عناصر نائبة يمكنني ملؤها.
- اختم بطريقة أتحقق بها من الإصلاح بنفسي.
- اذكر كيفية التأكد من الإصلاح باستخدام لوحة المفاتيح وقارئ الشاشة.

تحقّق من إصلاحك

  • حمّل الصفحة الرئيسية، واضغط Tab مرارًا، وتأكد من أن التركيز يصل إلى قائمة التنقل الرئيسية والمحتوى.

اكتُشف باختبار آلي للوحة المفاتيح؛ تحقّق منه يدويًا.

P1حرجإخفاق مؤكَّدWCAG 2.1.1

لا يمكن اختيار خيارات المنتج بلوحة المفاتيح

الجهد: متوسط · المسؤول: مطوّر القالب · 2.1.1 Keyboard

تستجيب خيارات المقاس أو اللون أو المتغيرات للفأرة، لكنها لا تتلقى تركيز لوحة المفاتيح، فلا يستطيع مستخدمو لوحة المفاتيح اختيار أي متغير.

لا يستطيع المتسوّقون الذين يستخدمون لوحة المفاتيح فقط، ومنهم كثير من مستخدمي قارئات الشاشة، تجاوز هذه الخطوة (WCAG 2.1.1).

الدليل

اكتُشف بواسطة
رحلة لوحة المفاتيح
الحالة · الثقة
إخفاق مؤكَّد · عالية
تاريخ الاكتشاف
24 سبتمبر 2026 (UTC)
المكان
حالة واحدة في صفحة واحدة

المتوقع: يمكن الوصول بمفتاح Tab إلى كل خيارات المنتج (المقاس، واللون، والمتغيّر) وإلى حقل الكمية.

الملاحَظ: لا يستطيع 3 من خيارات المنتج تلقّي تركيز لوحة المفاتيح: «⁨S⁩»، «⁨M⁩»، «⁨L⁩». فهي تستجيب للفأرة، لكن مستخدم لوحة المفاتيح لا يستطيع اختيارها.

لا يمكن اختيار خيارات المنتج بلوحة المفاتيح: العنصر المحدَّد
لا يمكن اختيار خيارات المنتج بلوحة المفاتيح: العنصر المحدَّد
كيفية تكرار المشكلة
  1. افتح ⁨/products/trail-daypack⁩.
  2. اضغط Tab من أعلى الصفحة ولاحظ عناصر التحكم التي تتلقى التركيز قبل زر الإضافة إلى السلة.
العناصر الفاشلة (المعروض منها: 1)
(انظر لقطة الشاشة)
<div class="size-option" data-fr="opt-1">S</div>
الصفحات المتأثرة (1)
  • https://harborandpine.example/products/trail-daypack

كيف تصلحها

إرشادات عامة
  1. ابنِ أدوات اختيار الخيارات من أزرار راديو أصلية (أو عنصر <select>) مع تسميات مرئية، ونسّق التسمية لتظهر كمربع اللون.
  2. إذا أبقيت على العناصر المخصصة، فيحتاج كل خيار إلى tabindex="0" وrole="radio" مع aria-checked داخل role="radiogroup"، وإلى التعامل مع مفاتيح الأسهم ومفتاح Space. أما أزرار الراديو الأصلية فتوفر لك ذلك كله دون جهد إضافي.

الكود

أمثلة تنفيذ لمطوّرك. لا نملك الكود المصدري لقالبك، لذا فمواقع الملفات إرشادية وليست مسارات دقيقة.

قبل · ما وجدناه · نموذج المنتج في قالبك (أداة اختيار المتغيرات)
<div class="size-option" data-fr="opt-1">S</div>
بعد · مثال لتكييفه
<fieldset class="variant-picker">
  <legend>Size</legend>
  <input type="radio" id="size-s" name="Size" value="S" class="visually-hidden">
  <label for="size-s" class="size-option">S</label>
  <input type="radio" id="size-m" name="Size" value="M" class="visually-hidden">
  <label for="size-m" class="size-option">M</label>
</fieldset>

كل خيار زر راديو حقيقي، يمكن الوصول إليه بمفتاح Tab وتغييره بمفاتيح الأسهم؛ وتحتفظ التسمية بتنسيق مربع اللون لديك. استخدم أسماء خياراتك وقيمها.

أصلِح بالذكاء الاصطناعياعرض الأمر

الصق هذا في ChatGPT أو Claude أو Cursor أو Copilot مع ملف القالب الخاص بك. راجع التغيير قبل نشره.

لديّ متجر Shopify (قالب Online Store 2.0 وقوالب Liquid) على ⁨harborandpine.example⁩. اكتشف اختبار لإمكانية الوصول هذه المشكلة وأريد إصلاحها في قالبي.

المشكلة: لا يمكن اختيار خيارات المنتج بلوحة المفاتيح (WCAG 2.1.1).
المكان: حالة واحدة في صفحة واحدة، مثل ⁨/products/trail-daypack⁩.

أحد العناصر الفاشلة، كما عرضه المتصفح:
```html
<div class="size-option" data-fr="opt-1">S</div>
```

لماذا يهم ذلك: ⁨لا يستطيع المتسوّقون الذين يستخدمون لوحة المفاتيح فقط، ومنهم كثير من مستخدمي قارئات الشاشة، تجاوز هذه الخطوة (WCAG 2.1.1).⁩

ما يجب تغييره:
- ابنِ أدوات اختيار الخيارات من أزرار راديو أصلية (أو عنصر <select>) مع تسميات مرئية، ونسّق التسمية لتظهر كمربع اللون.
- إذا أبقيت على العناصر المخصصة، فيحتاج كل خيار إلى tabindex="0" وrole="radio" مع aria-checked داخل role="radiogroup"، وإلى التعامل مع مفاتيح الأسهم ومفتاح Space. أما أزرار الراديو الأصلية فتوفر لك ذلك كله دون جهد إضافي.

تغيير مقترح (نموذج المنتج في قالبك (أداة اختيار المتغيرات)):
```html
<fieldset class="variant-picker">
  <legend>Size</legend>
  <input type="radio" id="size-s" name="Size" value="S" class="visually-hidden">
  <label for="size-s" class="size-option">S</label>
  <input type="radio" id="size-m" name="Size" value="M" class="visually-hidden">
  <label for="size-m" class="size-option">M</label>
</fieldset>
```

قواعد لإجابتك:
- اعرض التعديل الدقيق قبل التغيير وبعده، وحدّد الملف أو الإعداد الذي يُطبَّق فيه. إذا احتجت إلى رؤية ملفي أولًا، فاطلب مني لصقه.
- حافظ على التصميم المرئي وعلى كل السلوك الحالي كما هو.
- لا تختلق أسماء منتجات أو أسعارًا أو نصوصًا؛ استخدم عناصر نائبة يمكنني ملؤها.
- اختم بطريقة أتحقق بها من الإصلاح بنفسي.
- اذكر كيفية التأكد من الإصلاح باستخدام لوحة المفاتيح وقارئ الشاشة.

تحقّق من إصلاحك

  • كرّر خطوات تكرار المشكلة باستخدام لوحة المفاتيح فقط.
  • اطلب إعادة اختبار من هذا التقرير: ستُشغَّل الرحلة مرة أخرى.
P1حرجإخفاق مؤكَّدWCAG 4.1.2

يجب أن يكون للأزرار نص واضح

الجهد: قليل · المسؤول: مطوّر القالب · 4.1.2 Name, Role, Value

بعض الأزرار ليس لها اسم قابل للوصول، فلا يسمع مستخدمو قارئات الشاشة سوى «زر».

يتطلب معيار WCAG 4.1.2 أن يكون لكل عنصر تحكم اسم. ومن الأزرار التي تفتقر غالبًا إلى اسم: أزرار زيادة الكمية وإنقاصها، وأزرار الإغلاق، وأسهم شرائح العرض.

الدليل

اكتُشف بواسطة
قاعدة axe-core آلية
الحالة · الثقة
إخفاق مؤكَّد · عالية
تاريخ الاكتشاف
24 سبتمبر 2026 (UTC)
المكان
41 حالة في 9 صفحات

المتوقع: يجب أن يكون للأزرار نص واضح

الملاحَظ: ليس للعنصر نص داخلي مرئي لقارئات الشاشة. السمة aria-label غير موجودة أو فارغة. السمة aria-labelledby غير موجودة، أو تشير إلى عناصر غير موجودة، أو تشير إلى عناصر فارغة. لا يحمل العنصر السمة title. لا يرتبط بالعنصر عنصر <label> ضمني (يحيط به). لا يرتبط بالعنصر عنصر <label> صريح. لم تُتجاوَز الدلالات الافتراضية للعنصر بالسمة role="none"‎ أو role="presentation"‎.

يجب أن يكون للأزرار نص واضح: العنصر المحدَّد في /
يجب أن يكون للأزرار نص واضح: العنصر المحدَّد في /
يجب أن يكون للأزرار نص واضح: العنصر المحدَّد في ⁨/collections/all⁩
يجب أن يكون للأزرار نص واضح: العنصر المحدَّد في ⁨/collections/all⁩
كيفية تكرار المشكلة
  1. افتح ⁨https://harborandpine.example/⁩ في Chrome أو Edge.
  2. افتح DevTools (F12) › Elements، واضغط Ctrl+F (أو Cmd+F على Mac) وابحث عن: ⁨.icons > button[type="button"]⁩
  3. في لوحة Accessibility ضمن DevTools، يكون حقل Name المحسوب للعنصر فارغًا.
  4. أو شغّل إضافة المتصفح المجانية axe DevTools على الصفحة: وستُبلغ عن ذلك بالاسم «⁨button-name⁩».
العناصر الفاشلة (المعروض منها: 4)
.icons > button[type="button"]
<button type="button"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="11" cy="11" r="7"></circle><path d="M20 20l-3.5-3.5"></path></svg></button>
.thumbs > button:nth-child(1)
<button type="button"><img src="/img/daypack.svg"></button>
.thumbs > button:nth-child(2)
<button type="button"><img src="/img/jacket.svg"></button>
.thumbs > button:nth-child(3)
<button type="button"><img src="/img/bottle.svg"></button>
الصفحات المتأثرة (9)
  • https://harborandpine.example/
  • https://harborandpine.example/collections/all
  • https://harborandpine.example/products/trail-daypack
  • https://harborandpine.example/cart
  • https://harborandpine.example/pages/about
  • https://harborandpine.example/products/pine-wool-beanie
  • https://harborandpine.example/products/enamel-camp-mug
  • https://harborandpine.example/products/harbor-lantern
  • https://harborandpine.example/products/insulated-bottle

كيف تصلحها

كود مبني من ترميز صفحتك
  1. اعثر على الأزرار في الأمثلة أدناه.
  2. أضف نصًا مرئيًا، أو نصًا مخفيًا بصريًا، أو سمة aria-label تصف وظيفة الزر (مثل ⁨aria-label="Close"⁩ أو ⁨aria-label="Increase quantity"⁩).

الكود

أمثلة تنفيذ لمطوّرك. لا نملك الكود المصدري لقالبك، لذا فمواقع الملفات إرشادية وليست مسارات دقيقة.

قبل · ما وجدناه · كود قالبك (ابحث فيه عن الترميز المعروض)
<button type="button">…</button>
بعد · مبني من العنصر الفاشل
<button type="button" aria-label="[What this button does]">…</button>

استبدل النص الموجود بين قوسين بوصف وظيفة الزر. ويصلح أيضًا نص مرئي أو نص مخفي بصريًا داخل الزر.

قبل · ما وجدناه · كود قالبك (ابحث فيه عن الترميز المعروض)
<button type="button"><img src="/img/daypack.svg"></button>
بعد · مبني من العنصر الفاشل
<button type="button" aria-label="[Describe the image, e.g. Back view]"><img src="/img/daypack.svg"></button>

استبدل النص الموجود بين قوسين بوصف وظيفة الزر. ويصلح أيضًا نص مرئي أو نص مخفي بصريًا داخل الزر.

قبل · ما وجدناه · كود قالبك (ابحث فيه عن الترميز المعروض)
<button type="button"><img src="/img/jacket.svg"></button>
بعد · مبني من العنصر الفاشل
<button type="button" aria-label="[Describe the image, e.g. Back view]"><img src="/img/jacket.svg"></button>

استبدل النص الموجود بين قوسين بوصف وظيفة الزر. ويصلح أيضًا نص مرئي أو نص مخفي بصريًا داخل الزر.

قبل · ما وجدناه · كود قالبك (ابحث فيه عن الترميز المعروض)
<button type="button"><img src="/img/bottle.svg"></button>
بعد · مبني من العنصر الفاشل
<button type="button" aria-label="[Describe the image, e.g. Back view]"><img src="/img/bottle.svg"></button>

استبدل النص الموجود بين قوسين بوصف وظيفة الزر. ويصلح أيضًا نص مرئي أو نص مخفي بصريًا داخل الزر.

أصلِح بالذكاء الاصطناعياعرض الأمر

الصق هذا في ChatGPT أو Claude أو Cursor أو Copilot مع ملف القالب الخاص بك. راجع التغيير قبل نشره.

لديّ متجر Shopify (قالب Online Store 2.0 وقوالب Liquid) على ⁨harborandpine.example⁩. اكتشف اختبار لإمكانية الوصول هذه المشكلة وأريد إصلاحها في قالبي.

المشكلة: يجب أن يكون للأزرار نص واضح (WCAG 4.1.2).
المكان: 41 حالة في 9 صفحات، مثل /، ⁨/collections/all⁩، ⁨/products/trail-daypack⁩، ⁨/cart⁩.

أحد العناصر الفاشلة، كما عرضه المتصفح:
```html
<button type="button"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="11" cy="11" r="7"></circle><path d="M20 20l-3.5-3.5"></path></svg></button>
```

لماذا يهم ذلك: ⁨يتطلب معيار WCAG 4.1.2 أن يكون لكل عنصر تحكم اسم. ومن الأزرار التي تفتقر غالبًا إلى اسم: أزرار زيادة الكمية وإنقاصها، وأزرار الإغلاق، وأسهم شرائح العرض.⁩

ما يجب تغييره:
- اعثر على الأزرار في الأمثلة أدناه.
- أضف نصًا مرئيًا، أو نصًا مخفيًا بصريًا، أو سمة aria-label تصف وظيفة الزر (مثل ⁨aria-label="Close"⁩ أو ⁨aria-label="Increase quantity"⁩).

تغيير مقترح (كود قالبك (ابحث فيه عن الترميز المعروض)):
```html
<button type="button" aria-label="[What this button does]">…</button>
```

قواعد لإجابتك:
- اعرض التعديل الدقيق قبل التغيير وبعده، وحدّد الملف أو الإعداد الذي يُطبَّق فيه. إذا احتجت إلى رؤية ملفي أولًا، فاطلب مني لصقه.
- حافظ على التصميم المرئي وعلى كل السلوك الحالي كما هو.
- لا تختلق أسماء منتجات أو أسعارًا أو نصوصًا؛ استخدم عناصر نائبة يمكنني ملؤها.
- اختم بطريقة أتحقق بها من الإصلاح بنفسي.
- اذكر كيفية التأكد من الإصلاح باستخدام لوحة المفاتيح وقارئ الشاشة.

تحقّق من إصلاحك

  • أعد فحص الصفحات المتأثرة.
  • افحص الأزرار باستخدام قارئ شاشة.

إرشادات مفصّلة: ⁨https://dequeuniversity.com/rules/axe/4.13/button-name?application=playwright⁩

P1حرجإخفاق مؤكَّدWCAG 1.1.1

يجب أن يكون للصور نص بديل

الجهد: متوسط · المسؤول: محرر المحتوى · 1.1.1 Non-text Content

تفتقر صور إلى بديل نصي، فلا يعرف مستخدمو قارئات الشاشة ما تعرضه.

يتطلب معيار WCAG 1.1.1 بديلًا نصيًا للصور ذات المعنى. وبدونه، لا يستطيع مستخدم قارئ الشاشة معرفة المنتج الذي تعرضه الصورة.

الدليل

اكتُشف بواسطة
قاعدة axe-core آلية
الحالة · الثقة
إخفاق مؤكَّد · عالية
تاريخ الاكتشاف
24 سبتمبر 2026 (UTC)
المكان
22 حالة في 7 صفحات

المتوقع: يجب أن يكون للصور نص بديل

الملاحَظ: لا يحمل العنصر السمة alt. السمة aria-label غير موجودة أو فارغة. السمة aria-labelledby غير موجودة، أو تشير إلى عناصر غير موجودة، أو تشير إلى عناصر فارغة. لا يحمل العنصر السمة title. لم تُتجاوَز الدلالات الافتراضية للعنصر بالسمة role="none"‎ أو role="presentation"‎.

يجب أن يكون للصور نص بديل: العنصر المحدَّد في /
يجب أن يكون للصور نص بديل: العنصر المحدَّد في /
يجب أن يكون للصور نص بديل: العنصر المحدَّد في ⁨/collections/all⁩
يجب أن يكون للصور نص بديل: العنصر المحدَّد في ⁨/collections/all⁩
كيفية تكرار المشكلة
  1. افتح ⁨https://harborandpine.example/⁩ في Chrome أو Edge.
  2. افتح DevTools (F12) › Elements، واضغط Ctrl+F (أو Cmd+F على Mac) وابحث عن: ⁨img[src$="hero-photo.jpg"]⁩
  3. في لوحة Accessibility ضمن DevTools، يكون حقل Name المحسوب للعنصر فارغًا.
  4. أو شغّل إضافة المتصفح المجانية axe DevTools على الصفحة: وستُبلغ عن ذلك بالاسم «⁨image-alt⁩».
العناصر الفاشلة (المعروض منها: 4)
img[src$="hero-photo.jpg"]
<img src="/img/hero-photo.jpg" loading="lazy">
img[src$="mug.svg"]
<img src="/img/mug.svg">
img[src$="beanie.svg"]
<img src="/img/beanie.svg">
img[src$="jacket.svg"]
<img src="/img/jacket.svg">
الصفحات المتأثرة (7)
  • https://harborandpine.example/
  • https://harborandpine.example/collections/all
  • https://harborandpine.example/products/trail-daypack
  • https://harborandpine.example/products/pine-wool-beanie
  • https://harborandpine.example/products/enamel-camp-mug
  • https://harborandpine.example/products/harbor-lantern
  • https://harborandpine.example/products/insulated-bottle

كيف تصلحها

كود مبني من ترميز صفحتك
  1. في لوحة إدارة Shopify، افتح المنتجات > [المنتج] > الوسائط (Products > [product] > Media)، وانقر على كل صورة واملأ حقل «النص البديل» (Alt text). ولصور الأقسام، افتح المتجر الإلكتروني > القوالب > تخصيص (Online Store > Themes > Customize) واضبط النص البديل للصورة في إعدادات القسم.
  2. صِف ما يهم المتسوّق: اسم المنتج، ولونه، وزاوية العرض (مثل «حقيبة قماشية بلون زيتوني، منظر أمامي»).
  3. يجب أن تحمل الصور الزخرفية سمة alt فارغة (⁨alt=""⁩) كي تتجاوزها قارئات الشاشة.

الكود

أمثلة تنفيذ لمطوّرك. لا نملك الكود المصدري لقالبك، لذا فمواقع الملفات إرشادية وليست مسارات دقيقة.

قبل · ما وجدناه · صور المنتجات: لوحة إدارة Shopify › المنتجات › الوسائط › النص البديل (Products › Media › Alt text). الصور الأخرى: كود قالبك
<img src="/img/hero-photo.jpg" loading="lazy">
بعد · مبني من العنصر الفاشل
<img src="/img/hero-photo.jpg" loading="lazy" alt="[Describe the image for a shopper]">

صِف ما تعرضه الصورة (لصورة منتج: المنتج، واللون، وزاوية العرض). إذا كانت الصورة زخرفية بحتة، فاستخدم ⁨alt=""⁩ بدلًا من ذلك كي تتجاوزها قارئات الشاشة.

قبل · ما وجدناه · صور المنتجات: لوحة إدارة Shopify › المنتجات › الوسائط › النص البديل (Products › Media › Alt text). الصور الأخرى: كود قالبك
<img src="/img/mug.svg">
بعد · مبني من العنصر الفاشل
<img src="/img/mug.svg" alt="[Describe the image for a shopper]">

صِف ما تعرضه الصورة (لصورة منتج: المنتج، واللون، وزاوية العرض). إذا كانت الصورة زخرفية بحتة، فاستخدم ⁨alt=""⁩ بدلًا من ذلك كي تتجاوزها قارئات الشاشة.

قبل · ما وجدناه · صور المنتجات: لوحة إدارة Shopify › المنتجات › الوسائط › النص البديل (Products › Media › Alt text). الصور الأخرى: كود قالبك
<img src="/img/beanie.svg">
بعد · مبني من العنصر الفاشل
<img src="/img/beanie.svg" alt="[Describe the image for a shopper]">

صِف ما تعرضه الصورة (لصورة منتج: المنتج، واللون، وزاوية العرض). إذا كانت الصورة زخرفية بحتة، فاستخدم ⁨alt=""⁩ بدلًا من ذلك كي تتجاوزها قارئات الشاشة.

قبل · ما وجدناه · صور المنتجات: لوحة إدارة Shopify › المنتجات › الوسائط › النص البديل (Products › Media › Alt text). الصور الأخرى: كود قالبك
<img src="/img/jacket.svg">
بعد · مبني من العنصر الفاشل
<img src="/img/jacket.svg" alt="[Describe the image for a shopper]">

صِف ما تعرضه الصورة (لصورة منتج: المنتج، واللون، وزاوية العرض). إذا كانت الصورة زخرفية بحتة، فاستخدم ⁨alt=""⁩ بدلًا من ذلك كي تتجاوزها قارئات الشاشة.

أصلِح بالذكاء الاصطناعياعرض الأمر

الصق هذا في ChatGPT أو Claude أو Cursor أو Copilot مع ملف القالب الخاص بك. راجع التغيير قبل نشره.

لديّ متجر Shopify (قالب Online Store 2.0 وقوالب Liquid) على ⁨harborandpine.example⁩. اكتشف اختبار لإمكانية الوصول هذه المشكلة وأريد إصلاحها في قالبي.

المشكلة: يجب أن يكون للصور نص بديل (WCAG 1.1.1).
المكان: 22 حالة في 7 صفحات، مثل /، ⁨/collections/all⁩، ⁨/products/trail-daypack⁩، ⁨/products/pine-wool-beanie⁩.

أحد العناصر الفاشلة، كما عرضه المتصفح:
```html
<img src="/img/hero-photo.jpg" loading="lazy">
```

لماذا يهم ذلك: ⁨يتطلب معيار WCAG 1.1.1 بديلًا نصيًا للصور ذات المعنى. وبدونه، لا يستطيع مستخدم قارئ الشاشة معرفة المنتج الذي تعرضه الصورة.⁩

ما يجب تغييره:
- في لوحة إدارة Shopify، افتح المنتجات > [المنتج] > الوسائط (Products > [product] > Media)، وانقر على كل صورة واملأ حقل «النص البديل» (Alt text). ولصور الأقسام، افتح المتجر الإلكتروني > القوالب > تخصيص (Online Store > Themes > Customize) واضبط النص البديل للصورة في إعدادات القسم.
- صِف ما يهم المتسوّق: اسم المنتج، ولونه، وزاوية العرض (مثل «حقيبة قماشية بلون زيتوني، منظر أمامي»).
- يجب أن تحمل الصور الزخرفية سمة alt فارغة (⁨alt=""⁩) كي تتجاوزها قارئات الشاشة.

تغيير مقترح (⁨صور المنتجات: لوحة إدارة Shopify › المنتجات › الوسائط › النص البديل (Products › Media › Alt text). الصور الأخرى: كود قالبك⁩):
```html
<img src="/img/hero-photo.jpg" loading="lazy" alt="[Describe the image for a shopper]">
```

قواعد لإجابتك:
- اعرض التعديل الدقيق قبل التغيير وبعده، وحدّد الملف أو الإعداد الذي يُطبَّق فيه. إذا احتجت إلى رؤية ملفي أولًا، فاطلب مني لصقه.
- حافظ على التصميم المرئي وعلى كل السلوك الحالي كما هو.
- لا تختلق أسماء منتجات أو أسعارًا أو نصوصًا؛ استخدم عناصر نائبة يمكنني ملؤها.
- اختم بطريقة أتحقق بها من الإصلاح بنفسي.
- اذكر كيفية التأكد من الإصلاح باستخدام لوحة المفاتيح وقارئ الشاشة.

تحقّق من إصلاحك

  • أعد فحص الصفحات المتأثرة.
  • استخدم قارئ شاشة (VoiceOver: اضغط Cmd+F5 على Mac) لتسمع كيف تُعلَن صور المنتجات.

إرشادات مفصّلة: ⁨https://dequeuniversity.com/rules/axe/4.13/image-alt?application=playwright⁩

P1حرجإخفاق مؤكَّدWCAG 4.1.2

يجب أن تكون لعناصر النماذج تسميات

الجهد: قليل · المسؤول: مطوّر القالب · 4.1.2 Name, Role, Value

بعض حقول النماذج بلا تسمية، فلا يعرف مستخدمو قارئات الشاشة ما يجب إدخاله.

تتطلب معايير WCAG 1.3.1 و3.3.2 و4.1.2 أن تكون لحقول النماذج تسميات. وحقول الاشتراك في النشرة البريدية والبحث من أكثر الحقول المخالفة شيوعًا.

الدليل

اكتُشف بواسطة
قاعدة axe-core آلية
الحالة · الثقة
إخفاق مؤكَّد · عالية
تاريخ الاكتشاف
24 سبتمبر 2026 (UTC)
المكان
7 حالات في 6 صفحات

المتوقع: يجب أن تكون لعناصر النماذج تسميات

الملاحَظ: لا يرتبط بالعنصر عنصر <label> ضمني (يحيط به). لا يرتبط بالعنصر عنصر <label> صريح. السمة aria-label غير موجودة أو فارغة. السمة aria-labelledby غير موجودة، أو تشير إلى عناصر غير موجودة، أو تشير إلى عناصر فارغة. لا يحمل العنصر السمة title. لا يحمل العنصر السمة placeholder. لم تُتجاوَز الدلالات الافتراضية للعنصر بالسمة role="none"‎ أو role="presentation"‎.

يجب أن تكون لعناصر النماذج تسميات: العنصر المحدَّد في ⁨/products/trail-daypack⁩
يجب أن تكون لعناصر النماذج تسميات: العنصر المحدَّد في ⁨/products/trail-daypack⁩
يجب أن تكون لعناصر النماذج تسميات: العنصر المحدَّد في ⁨/cart⁩
يجب أن تكون لعناصر النماذج تسميات: العنصر المحدَّد في ⁨/cart⁩
كيفية تكرار المشكلة
  1. افتح ⁨https://harborandpine.example/products/trail-daypack⁩ في Chrome أو Edge.
  2. افتح DevTools (F12) › Elements، واضغط Ctrl+F (أو Cmd+F على Mac) وابحث عن: ⁨input⁩
  3. في لوحة Accessibility ضمن DevTools، يكون حقل Name المحسوب للعنصر فارغًا.
  4. أو شغّل إضافة المتصفح المجانية axe DevTools على الصفحة: وستُبلغ عن ذلك بالاسم «⁨label⁩».
العناصر الفاشلة (المعروض منها: 2)
input
<input type="number" value="1" min="1">
input[value="2"]
<input type="number" value="2" min="1">
الصفحات المتأثرة (6)
  • https://harborandpine.example/products/trail-daypack
  • https://harborandpine.example/cart
  • https://harborandpine.example/products/pine-wool-beanie
  • https://harborandpine.example/products/enamel-camp-mug
  • https://harborandpine.example/products/harbor-lantern
  • https://harborandpine.example/products/insulated-bottle

كيف تصلحها

كود مبني من ترميز صفحتك
  1. امنح كل حقل عنصر ⁨<label for="field-id">⁩، أو على الأقل سمة aria-label.
  2. النص النائب وحده لا يُعدّ تسمية.

الكود

أمثلة تنفيذ لمطوّرك. لا نملك الكود المصدري لقالبك، لذا فمواقع الملفات إرشادية وليست مسارات دقيقة.

قبل · ما وجدناه · كود قالبك (ابحث فيه عن الترميز المعروض)
<input type="number" value="1" min="1">
بعد · مبني من العنصر الفاشل
<input type="number" value="1" min="1" aria-label="Quantity">

ليس للحقل معرّف id، لذا فأسرع إصلاح هو aria-label. وعنصر ⁨<label>⁩ المرئي أفضل للجميع. نص التسمية «⁨Quantity⁩» مستنتج من الحقل؛ عدّله عند الحاجة.

قبل · ما وجدناه · كود قالبك (ابحث فيه عن الترميز المعروض)
<input type="number" value="2" min="1">
بعد · مبني من العنصر الفاشل
<input type="number" value="2" min="1" aria-label="Quantity">

ليس للحقل معرّف id، لذا فأسرع إصلاح هو aria-label. وعنصر ⁨<label>⁩ المرئي أفضل للجميع. نص التسمية «⁨Quantity⁩» مستنتج من الحقل؛ عدّله عند الحاجة.

أصلِح بالذكاء الاصطناعياعرض الأمر

الصق هذا في ChatGPT أو Claude أو Cursor أو Copilot مع ملف القالب الخاص بك. راجع التغيير قبل نشره.

لديّ متجر Shopify (قالب Online Store 2.0 وقوالب Liquid) على ⁨harborandpine.example⁩. اكتشف اختبار لإمكانية الوصول هذه المشكلة وأريد إصلاحها في قالبي.

المشكلة: يجب أن تكون لعناصر النماذج تسميات (WCAG 4.1.2).
المكان: 7 حالات في 6 صفحات، مثل ⁨/products/trail-daypack⁩، ⁨/cart⁩، ⁨/products/pine-wool-beanie⁩، ⁨/products/enamel-camp-mug⁩.

أحد العناصر الفاشلة، كما عرضه المتصفح:
```html
<input type="number" value="1" min="1">
```

لماذا يهم ذلك: ⁨تتطلب معايير WCAG 1.3.1 و3.3.2 و4.1.2 أن تكون لحقول النماذج تسميات. وحقول الاشتراك في النشرة البريدية والبحث من أكثر الحقول المخالفة شيوعًا.⁩

ما يجب تغييره:
- امنح كل حقل عنصر ⁨<label for="field-id">⁩، أو على الأقل سمة aria-label.
- النص النائب وحده لا يُعدّ تسمية.

تغيير مقترح (كود قالبك (ابحث فيه عن الترميز المعروض)):
```html
<input type="number" value="1" min="1" aria-label="Quantity">
```

قواعد لإجابتك:
- اعرض التعديل الدقيق قبل التغيير وبعده، وحدّد الملف أو الإعداد الذي يُطبَّق فيه. إذا احتجت إلى رؤية ملفي أولًا، فاطلب مني لصقه.
- حافظ على التصميم المرئي وعلى كل السلوك الحالي كما هو.
- لا تختلق أسماء منتجات أو أسعارًا أو نصوصًا؛ استخدم عناصر نائبة يمكنني ملؤها.
- اختم بطريقة أتحقق بها من الإصلاح بنفسي.
- اذكر كيفية التأكد من الإصلاح باستخدام لوحة المفاتيح وقارئ الشاشة.

تحقّق من إصلاحك

  • أعد الفحص وتأكد من أن القاعدة ⁨label⁩ لم تعد تفشل.
  • انقر على كل تسمية وتحقّق من أنها تنقل التركيز إلى حقلها.

إرشادات مفصّلة: ⁨https://dequeuniversity.com/rules/axe/4.13/label?application=playwright⁩

P1حرجإخفاق مؤكَّدWCAG 4.1.2

يجب أن يكون لعنصر select اسم قابل للوصول

الجهد: قليل · المسؤول: مطوّر القالب · 4.1.2 Name, Role, Value

توجد قائمة منسدلة بلا تسمية (غالبًا أداة الترتيب أو أداة اختيار المتغيرات).

يتطلب معيار WCAG 4.1.2 أن يكون لقوائم الاختيار اسم قابل للوصول.

الدليل

اكتُشف بواسطة
قاعدة axe-core آلية
الحالة · الثقة
إخفاق مؤكَّد · عالية
تاريخ الاكتشاف
24 سبتمبر 2026 (UTC)
المكان
حالة واحدة في صفحة واحدة

المتوقع: يجب أن يكون لعنصر select اسم قابل للوصول

الملاحَظ: لا يرتبط بالعنصر عنصر <label> ضمني (يحيط به). لا يرتبط بالعنصر عنصر <label> صريح. السمة aria-label غير موجودة أو فارغة. السمة aria-labelledby غير موجودة، أو تشير إلى عناصر غير موجودة، أو تشير إلى عناصر فارغة. لا يحمل العنصر السمة title. لم تُتجاوَز الدلالات الافتراضية للعنصر بالسمة role="none"‎ أو role="presentation"‎.

يجب أن يكون لعنصر select اسم قابل للوصول: العنصر المحدَّد في ⁨/collections/all⁩
يجب أن يكون لعنصر select اسم قابل للوصول: العنصر المحدَّد في ⁨/collections/all⁩
كيفية تكرار المشكلة
  1. افتح ⁨https://harborandpine.example/collections/all⁩ في Chrome أو Edge.
  2. افتح DevTools (F12) › Elements، واضغط Ctrl+F (أو Cmd+F على Mac) وابحث عن: ⁨select⁩
  3. في لوحة Accessibility ضمن DevTools، يكون حقل Name المحسوب للعنصر فارغًا.
  4. أو شغّل إضافة المتصفح المجانية axe DevTools على الصفحة: وستُبلغ عن ذلك بالاسم «⁨select-name⁩».
العناصر الفاشلة (المعروض منها: 1)
select
<select><option>Featured</option><option>Price, low to high</option><option>Price, high to low</option></select>
الصفحات المتأثرة (1)
  • https://harborandpine.example/collections/all

كيف تصلحها

كود مبني من ترميز صفحتك
  1. أضف عنصر ⁨<label>⁩ مرتبطًا بقائمة الاختيار، أو سمة aria-label مثل ⁨aria-label="Sort by"⁩.

الكود

أمثلة تنفيذ لمطوّرك. لا نملك الكود المصدري لقالبك، لذا فمواقع الملفات إرشادية وليست مسارات دقيقة.

قبل · ما وجدناه · كود قالبك (ابحث فيه عن الترميز المعروض)
<select><option>Featured</option><option>Price, low to high</option><option>Price, high to low</option></select>
بعد · مبني من العنصر الفاشل
<select aria-label="[Field label]"><option>Featured</option><option>Price, low to high</option><option>Price, high to low</option></select>

ليس للحقل معرّف id، لذا فأسرع إصلاح هو aria-label. وعنصر ⁨<label>⁩ المرئي أفضل للجميع. استبدل النص الموجود بين قوسين بتسمية الحقل.

أصلِح بالذكاء الاصطناعياعرض الأمر

الصق هذا في ChatGPT أو Claude أو Cursor أو Copilot مع ملف القالب الخاص بك. راجع التغيير قبل نشره.

لديّ متجر Shopify (قالب Online Store 2.0 وقوالب Liquid) على ⁨harborandpine.example⁩. اكتشف اختبار لإمكانية الوصول هذه المشكلة وأريد إصلاحها في قالبي.

المشكلة: ⁨يجب أن يكون لعنصر select اسم قابل للوصول⁩ (WCAG 4.1.2).
المكان: حالة واحدة في صفحة واحدة، مثل ⁨/collections/all⁩.

أحد العناصر الفاشلة، كما عرضه المتصفح:
```html
<select><option>Featured</option><option>Price, low to high</option><option>Price, high to low</option></select>
```

لماذا يهم ذلك: ⁨يتطلب معيار WCAG 4.1.2 أن يكون لقوائم الاختيار اسم قابل للوصول.⁩

ما يجب تغييره:
- أضف عنصر ⁨<label>⁩ مرتبطًا بقائمة الاختيار، أو سمة aria-label مثل ⁨aria-label="Sort by"⁩.

تغيير مقترح (كود قالبك (ابحث فيه عن الترميز المعروض)):
```html
<select aria-label="[Field label]"><option>Featured</option><option>Price, low to high</option><option>Price, high to low</option></select>
```

قواعد لإجابتك:
- اعرض التعديل الدقيق قبل التغيير وبعده، وحدّد الملف أو الإعداد الذي يُطبَّق فيه. إذا احتجت إلى رؤية ملفي أولًا، فاطلب مني لصقه.
- حافظ على التصميم المرئي وعلى كل السلوك الحالي كما هو.
- لا تختلق أسماء منتجات أو أسعارًا أو نصوصًا؛ استخدم عناصر نائبة يمكنني ملؤها.
- اختم بطريقة أتحقق بها من الإصلاح بنفسي.
- اذكر كيفية التأكد من الإصلاح باستخدام لوحة المفاتيح وقارئ الشاشة.

تحقّق من إصلاحك

  • أعد فحص صفحات المجموعات والمنتجات.

إرشادات مفصّلة: ⁨https://dequeuniversity.com/rules/axe/4.13/select-name?application=playwright⁩

P1خطيرإخفاق مؤكَّدWCAG 1.4.3

يجب أن تستوفي العناصر الحد الأدنى لنسبة تباين الألوان

الجهد: قليل · المسؤول: صاحب المتجر (إعدادات لوحة الإدارة) · 1.4.3 Contrast (Minimum)

بعض النصوص لا تتميز عن خلفيتها بما يكفي ليقرأها ضعاف البصر.

يتطلب معيار WCAG 1.4.3 نسبة تباين لا تقل عن 4.5:1 للنص العادي و3:1 للنص الكبير. يصعب على ضعاف البصر قراءة الأسعار والشارات واللافتات الباهتة، ويصعب ذلك على الجميع في الضوء الساطع.

الدليل

اكتُشف بواسطة
قاعدة axe-core آلية
الحالة · الثقة
إخفاق مؤكَّد · عالية
تاريخ الاكتشاف
24 سبتمبر 2026 (UTC)
المكان
22 حالة في 9 صفحات

المتوقع: يجب أن تستوفي العناصر الحد الأدنى لنسبة تباين الألوان

الملاحَظ: تباين الألوان في العنصر غير كافٍ، إذ يبلغ 3.09 (لون النص: ⁨#ffffff⁩، لون الخلفية: ⁨#e76f51⁩، حجم الخط: ⁨9.8pt (13px)⁩، وزن الخط: ⁨normal⁩). نسبة التباين المتوقعة 4.5:1.

يجب أن تستوفي العناصر الحد الأدنى لنسبة تباين الألوان: العنصر المحدَّد في /
يجب أن تستوفي العناصر الحد الأدنى لنسبة تباين الألوان: العنصر المحدَّد في /
يجب أن تستوفي العناصر الحد الأدنى لنسبة تباين الألوان: العنصر المحدَّد في ⁨/collections/all⁩
يجب أن تستوفي العناصر الحد الأدنى لنسبة تباين الألوان: العنصر المحدَّد في ⁨/collections/all⁩
كيفية تكرار المشكلة
  1. افتح ⁨https://harborandpine.example/⁩ في Chrome أو Edge.
  2. افتح DevTools (F12) › Elements، واضغط Ctrl+F (أو Cmd+F على Mac) وابحث عن: ⁨.announce⁩
  3. انقر على مربع اللون بجوار لون العنصر في لوحة Styles لترى نسبة التباين المقيسة.
  4. أو شغّل إضافة المتصفح المجانية axe DevTools على الصفحة: وستُبلغ عن ذلك بالاسم «⁨color-contrast⁩».
العناصر الفاشلة (المعروض منها: 4)
.announce
<div class="announce">Free shipping on orders over $75 · Easy 30-day returns</div>
article:nth-child(3) > .badge
<span class="badge">Sale</span>
article:nth-child(3) > .price > .compare
<span class="compare">$72</span>
article:nth-child(4) > .price > .compare
<span class="compare">$40</span>
الصفحات المتأثرة (9)
  • https://harborandpine.example/
  • https://harborandpine.example/collections/all
  • https://harborandpine.example/products/trail-daypack
  • https://harborandpine.example/cart
  • https://harborandpine.example/pages/about
  • https://harborandpine.example/products/pine-wool-beanie
  • https://harborandpine.example/products/enamel-camp-mug
  • https://harborandpine.example/products/harbor-lantern
  • https://harborandpine.example/products/insulated-bottle

كيف تصلحها

كود مبني من ترميز صفحتك
  1. افتح العناصر الفاشلة المدرجة أدناه، ودوّن لون النص ولون الخلفية الواردين في ملخص الإخفاق.
  2. في المتجر الإلكتروني > القوالب > تخصيص > إعدادات القالب > الألوان (Online Store > Themes > Customize > Theme settings > Colors)، اجعل لون النص أغمق أو لون الخلفية أفتح في نظام الألوان المتأثر حتى تبلغ النسبة 4.5:1 على الأقل.
  3. انتبه خصوصًا إلى شارات التخفيضات، والنص النائب، وروابط التذييل، والأزرار الموضوعة فوق الصور.

الكود

أمثلة تنفيذ لمطوّرك. لا نملك الكود المصدري لقالبك، لذا فمواقع الملفات إرشادية وليست مسارات دقيقة.

قبل · ما وجدناه · إعدادات القالب › الألوان (Theme settings › Colors)، أو ملف CSS الخاص بقالبك
<div class="announce">Free shipping on orders over $75 · Easy 30-day returns</div>
بعد · مبني من العنصر الفاشل
.announce {
  background-color: #b95941; /* was #e76f51: 3.09:1, now 4.59:1 */
}

النسبة المقيسة 3.09:1 لنص بحجم 13px؛ ويتطلب WCAG 1.4.3 نسبة 4.5:1. يحافظ ⁨#b95941⁩ على درجة اللون نفسها ويحقق النسبة المطلوبة. المحدِّد هو الذي استخدمه اختبارنا؛ وقد يستخدم قالبك فئة أعم للنمط نفسه.

قبل · ما وجدناه · إعدادات القالب › الألوان (Theme settings › Colors)، أو ملف CSS الخاص بقالبك
<span class="badge">Sale</span>
بعد · مبني من العنصر الفاشل
.badge {
  background-color: #9f693f; /* was #f4a261: 2.06:1, now 4.59:1 */
}

النسبة المقيسة 2.06:1 لنص عريض بحجم 12px؛ ويتطلب WCAG 1.4.3 نسبة 4.5:1. يحافظ ⁨#9f693f⁩ على درجة اللون نفسها ويحقق النسبة المطلوبة. المحدِّد هو الذي استخدمه اختبارنا؛ وقد يستخدم قالبك فئة أعم للنمط نفسه.

قبل · ما وجدناه · إعدادات القالب › الألوان (Theme settings › Colors)، أو ملف CSS الخاص بقالبك
<span class="compare">$72</span>
بعد · مبني من العنصر الفاشل
.compare {
  color: #78736c; /* was #b0a99f: 2.29:1, now 4.62:1 */
}

النسبة المقيسة 2.29:1 لنص بحجم 14px؛ ويتطلب WCAG 1.4.3 نسبة 4.5:1. يحافظ ⁨#78736c⁩ على درجة اللون نفسها ويحقق النسبة المطلوبة. المحدِّد هو الذي استخدمه اختبارنا؛ وقد يستخدم قالبك فئة أعم للنمط نفسه.

أصلِح بالذكاء الاصطناعياعرض الأمر

الصق هذا في ChatGPT أو Claude أو Cursor أو Copilot مع ملف القالب الخاص بك. راجع التغيير قبل نشره.

لديّ متجر Shopify (قالب Online Store 2.0 وقوالب Liquid) على ⁨harborandpine.example⁩. اكتشف اختبار لإمكانية الوصول هذه المشكلة وأريد إصلاحها في قالبي.

المشكلة: يجب أن تستوفي العناصر الحد الأدنى لنسبة تباين الألوان (WCAG 1.4.3).
المكان: 22 حالة في 9 صفحات، مثل /، ⁨/collections/all⁩، ⁨/products/trail-daypack⁩، ⁨/cart⁩.

أحد العناصر الفاشلة، كما عرضه المتصفح:
```html
<div class="announce">Free shipping on orders over $75 · Easy 30-day returns</div>
```

لماذا يهم ذلك: ⁨يتطلب معيار WCAG 1.4.3 نسبة تباين لا تقل عن 4.5:1 للنص العادي و3:1 للنص الكبير. يصعب على ضعاف البصر قراءة الأسعار والشارات واللافتات الباهتة، ويصعب ذلك على الجميع في الضوء الساطع.⁩

ما يجب تغييره:
- افتح العناصر الفاشلة المدرجة أدناه، ودوّن لون النص ولون الخلفية الواردين في ملخص الإخفاق.
- في المتجر الإلكتروني > القوالب > تخصيص > إعدادات القالب > الألوان (Online Store > Themes > Customize > Theme settings > Colors)، اجعل لون النص أغمق أو لون الخلفية أفتح في نظام الألوان المتأثر حتى تبلغ النسبة 4.5:1 على الأقل.
- انتبه خصوصًا إلى شارات التخفيضات، والنص النائب، وروابط التذييل، والأزرار الموضوعة فوق الصور.

تغيير مقترح (⁨إعدادات القالب › الألوان (Theme settings › Colors)، أو ملف CSS الخاص بقالبك⁩):
```css
.announce {
  background-color: #b95941; /* was #e76f51: 3.09:1, now 4.59:1 */
}
```

قواعد لإجابتك:
- اعرض التعديل الدقيق قبل التغيير وبعده، وحدّد الملف أو الإعداد الذي يُطبَّق فيه. إذا احتجت إلى رؤية ملفي أولًا، فاطلب مني لصقه.
- حافظ على التصميم المرئي وعلى كل السلوك الحالي كما هو.
- لا تختلق أسماء منتجات أو أسعارًا أو نصوصًا؛ استخدم عناصر نائبة يمكنني ملؤها.
- اختم بطريقة أتحقق بها من الإصلاح بنفسي.
- اذكر كيفية التأكد من الإصلاح باستخدام لوحة المفاتيح وقارئ الشاشة.

تحقّق من إصلاحك

  • أعد تشغيل الفحص وتأكد من أن القاعدة ⁨color-contrast⁩ لم تعد تظهر.
  • افحص بعض الحالات بأداة لقياس التباين باستخدام الألوان الدقيقة.

إرشادات مفصّلة: ⁨https://dequeuniversity.com/rules/axe/4.13/color-contrast?application=playwright⁩

P3متوسطإخفاق مؤكَّد

ينبغي أن يكون كل محتوى الصفحة داخل معالم

الجهد: متوسط · المسؤول: مطوّر القالب

بعض المحتوى ليس داخل معلم من معالم الصفحة (header أو nav أو main أو footer).

تتيح المعالم لمستخدمي قارئات الشاشة التنقل السريع بين أجزاء الصفحة. هذه ممارسة فضلى تدعم المعيارين WCAG 1.3.1 و2.4.1.

الدليل

اكتُشف بواسطة
قاعدة axe-core آلية
الحالة · الثقة
إخفاق مؤكَّد · عالية
تاريخ الاكتشاف
24 سبتمبر 2026 (UTC)
المكان
18 حالة في 9 صفحات

المتوقع: ينبغي أن يكون كل محتوى الصفحة داخل معالم

الملاحَظ: بعض محتوى الصفحة ليس داخل معالم.

ينبغي أن يكون كل محتوى الصفحة داخل معالم: العنصر المحدَّد في /
ينبغي أن يكون كل محتوى الصفحة داخل معالم: العنصر المحدَّد في /
ينبغي أن يكون كل محتوى الصفحة داخل معالم: العنصر المحدَّد في ⁨/cart⁩
ينبغي أن يكون كل محتوى الصفحة داخل معالم: العنصر المحدَّد في ⁨/cart⁩
كيفية تكرار المشكلة
  1. افتح ⁨https://harborandpine.example/⁩ في Chrome أو Edge.
  2. افتح DevTools (F12) › Elements، واضغط Ctrl+F (أو Cmd+F على Mac) وابحث عن: ⁨.announce⁩
  3. أو شغّل إضافة المتصفح المجانية axe DevTools على الصفحة: وستُبلغ عن ذلك بالاسم «⁨region⁩».
العناصر الفاشلة (المعروض منها: 2)
.announce
<div class="announce">Free shipping on orders over $75 · Easy 30-day returns</div>
#cookie-banner > p
<p>We use cookies to improve your experience and measure traffic.</p>
الصفحات المتأثرة (9)
  • https://harborandpine.example/
  • https://harborandpine.example/collections/all
  • https://harborandpine.example/products/trail-daypack
  • https://harborandpine.example/cart
  • https://harborandpine.example/pages/about
  • https://harborandpine.example/products/pine-wool-beanie
  • https://harborandpine.example/products/enamel-camp-mug
  • https://harborandpine.example/products/harbor-lantern
  • https://harborandpine.example/products/insulated-bottle

كيف تصلحها

إرشادات عامة
  1. ضع المحتوى الشارد (أشرطة الإعلانات، والنوافذ المنبثقة، وأدوات الدردشة) داخل المعلم المناسب أو داخل ⁨<main>⁩.
أصلِح بالذكاء الاصطناعياعرض الأمر

الصق هذا في ChatGPT أو Claude أو Cursor أو Copilot مع ملف القالب الخاص بك. راجع التغيير قبل نشره.

لديّ متجر Shopify (قالب Online Store 2.0 وقوالب Liquid) على ⁨harborandpine.example⁩. اكتشف اختبار لإمكانية الوصول هذه المشكلة وأريد إصلاحها في قالبي.

المشكلة: ينبغي أن يكون كل محتوى الصفحة داخل معالم.
المكان: 18 حالة في 9 صفحات، مثل /، ⁨/collections/all⁩، ⁨/products/trail-daypack⁩، ⁨/cart⁩.

أحد العناصر الفاشلة، كما عرضه المتصفح:
```html
<div class="announce">Free shipping on orders over $75 · Easy 30-day returns</div>
```

لماذا يهم ذلك: ⁨تتيح المعالم لمستخدمي قارئات الشاشة التنقل السريع بين أجزاء الصفحة. هذه ممارسة فضلى تدعم المعيارين WCAG 1.3.1 و2.4.1.⁩

ما يجب تغييره:
- ضع المحتوى الشارد (أشرطة الإعلانات، والنوافذ المنبثقة، وأدوات الدردشة) داخل المعلم المناسب أو داخل ⁨<main>⁩.

قواعد لإجابتك:
- اعرض التعديل الدقيق قبل التغيير وبعده، وحدّد الملف أو الإعداد الذي يُطبَّق فيه. إذا احتجت إلى رؤية ملفي أولًا، فاطلب مني لصقه.
- حافظ على التصميم المرئي وعلى كل السلوك الحالي كما هو.
- لا تختلق أسماء منتجات أو أسعارًا أو نصوصًا؛ استخدم عناصر نائبة يمكنني ملؤها.
- اختم بطريقة أتحقق بها من الإصلاح بنفسي.
- اذكر كيفية التأكد من الإصلاح باستخدام لوحة المفاتيح وقارئ الشاشة.

تحقّق من إصلاحك

  • أعد فحص الصفحات المتأثرة.

إرشادات مفصّلة: ⁨https://dequeuniversity.com/rules/axe/4.13/region?application=playwright⁩

P3متوسطإخفاق مؤكَّد

ينبغي ألا تزيد مستويات العناوين إلا بمستوى واحد في كل مرة

الجهد: متوسط · المسؤول: مطوّر القالب

تتخطى مستويات العناوين بعض المستويات (مثلًا من H2 إلى H4)، مما يجعل بنية الصفحة مربكة لمستخدمي قارئات الشاشة.

يتنقل مستخدمو قارئات الشاشة عبر العناوين. هذه ممارسة فضلى تدعم معيار WCAG 1.3.1.

الدليل

اكتُشف بواسطة
قاعدة axe-core آلية
الحالة · الثقة
إخفاق مؤكَّد · عالية
تاريخ الاكتشاف
24 سبتمبر 2026 (UTC)
المكان
7 حالات في 7 صفحات

المتوقع: ينبغي ألا تزيد مستويات العناوين إلا بمستوى واحد في كل مرة

الملاحَظ: ترتيب العناوين غير صالح.

ينبغي ألا تزيد مستويات العناوين إلا بمستوى واحد في كل مرة: العنصر المحدَّد في ⁨/collections/all⁩
ينبغي ألا تزيد مستويات العناوين إلا بمستوى واحد في كل مرة: العنصر المحدَّد في ⁨/collections/all⁩
ينبغي ألا تزيد مستويات العناوين إلا بمستوى واحد في كل مرة: العنصر المحدَّد في ⁨/products/trail-daypack⁩
ينبغي ألا تزيد مستويات العناوين إلا بمستوى واحد في كل مرة: العنصر المحدَّد في ⁨/products/trail-daypack⁩
كيفية تكرار المشكلة
  1. افتح ⁨https://harborandpine.example/collections/all⁩ في Chrome أو Edge.
  2. افتح DevTools (F12) › Elements، واضغط Ctrl+F (أو Cmd+F على Mac) وابحث عن: ⁨article:nth-child(1) > a[href$="trail-daypack"] > h3⁩
  3. أو شغّل إضافة المتصفح المجانية axe DevTools على الصفحة: وستُبلغ عن ذلك بالاسم «⁨heading-order⁩».
العناصر الفاشلة (المعروض منها: 3)
article:nth-child(1) > a[href$="trail-daypack"] > h3
<h3>Trail Daypack 22L</h3>
h3
<h3>Reviews</h3>
h3:nth-child(3)
<h3>Started on the trail</h3>
الصفحات المتأثرة (7)
  • https://harborandpine.example/collections/all
  • https://harborandpine.example/products/trail-daypack
  • https://harborandpine.example/pages/about
  • https://harborandpine.example/products/pine-wool-beanie
  • https://harborandpine.example/products/enamel-camp-mug
  • https://harborandpine.example/products/harbor-lantern
  • https://harborandpine.example/products/insulated-bottle

كيف تصلحها

إرشادات عامة
  1. عدّل مستويات العناوين في الأقسام المتأثرة لتتسلسل بالترتيب دون تخطي أي مستوى.
  2. غيّر الوسم فقط، لا النمط المرئي (استخدم فئات CSS للتحكم في الحجم).

الكود

أمثلة تنفيذ لمطوّرك. لا نملك الكود المصدري لقالبك، لذا فمواقع الملفات إرشادية وليست مسارات دقيقة.

قبل · ما وجدناه · كود قالبك (ابحث فيه عن الترميز المعروض)
<h3>Trail Daypack 22L</h3>
بعد · مثال لتكييفه
<h2 class="h3">Trail Daypack 22L</h2>

استخدم المستوى الذي يلي العنوان السابق في الصفحة (غالبًا أعلى بمستوى واحد)، وحافظ على المظهر بفئة CSS. راجع مخطط الصفحة قبل تغييره.

قبل · ما وجدناه · كود قالبك (ابحث فيه عن الترميز المعروض)
<h3>Reviews</h3>
بعد · مثال لتكييفه
<h2 class="h3">Reviews</h2>

استخدم المستوى الذي يلي العنوان السابق في الصفحة (غالبًا أعلى بمستوى واحد)، وحافظ على المظهر بفئة CSS. راجع مخطط الصفحة قبل تغييره.

قبل · ما وجدناه · كود قالبك (ابحث فيه عن الترميز المعروض)
<h3>Started on the trail</h3>
بعد · مثال لتكييفه
<h2 class="h3">Started on the trail</h2>

استخدم المستوى الذي يلي العنوان السابق في الصفحة (غالبًا أعلى بمستوى واحد)، وحافظ على المظهر بفئة CSS. راجع مخطط الصفحة قبل تغييره.

أصلِح بالذكاء الاصطناعياعرض الأمر

الصق هذا في ChatGPT أو Claude أو Cursor أو Copilot مع ملف القالب الخاص بك. راجع التغيير قبل نشره.

لديّ متجر Shopify (قالب Online Store 2.0 وقوالب Liquid) على ⁨harborandpine.example⁩. اكتشف اختبار لإمكانية الوصول هذه المشكلة وأريد إصلاحها في قالبي.

المشكلة: ينبغي ألا تزيد مستويات العناوين إلا بمستوى واحد في كل مرة.
المكان: 7 حالات في 7 صفحات، مثل ⁨/collections/all⁩، ⁨/products/trail-daypack⁩، ⁨/pages/about⁩، ⁨/products/pine-wool-beanie⁩.

أحد العناصر الفاشلة، كما عرضه المتصفح:
```html
<h3>Trail Daypack 22L</h3>
```

لماذا يهم ذلك: ⁨يتنقل مستخدمو قارئات الشاشة عبر العناوين. هذه ممارسة فضلى تدعم معيار WCAG 1.3.1.⁩

ما يجب تغييره:
- عدّل مستويات العناوين في الأقسام المتأثرة لتتسلسل بالترتيب دون تخطي أي مستوى.
- غيّر الوسم فقط، لا النمط المرئي (استخدم فئات CSS للتحكم في الحجم).

تغيير مقترح (كود قالبك (ابحث فيه عن الترميز المعروض)):
```html
<h2 class="h3">Trail Daypack 22L</h2>
```

قواعد لإجابتك:
- اعرض التعديل الدقيق قبل التغيير وبعده، وحدّد الملف أو الإعداد الذي يُطبَّق فيه. إذا احتجت إلى رؤية ملفي أولًا، فاطلب مني لصقه.
- حافظ على التصميم المرئي وعلى كل السلوك الحالي كما هو.
- لا تختلق أسماء منتجات أو أسعارًا أو نصوصًا؛ استخدم عناصر نائبة يمكنني ملؤها.
- اختم بطريقة أتحقق بها من الإصلاح بنفسي.
- اذكر كيفية التأكد من الإصلاح باستخدام لوحة المفاتيح وقارئ الشاشة.

تحقّق من إصلاحك

  • أعد الفحص وراجع مخطط العناوين بإضافة للمتصفح مثل HeadingsMap.

إرشادات مفصّلة: ⁨https://dequeuniversity.com/rules/axe/4.13/heading-order?application=playwright⁩

يحتاج إلى مراجعة يدوية

رصدت الاختبارات الآلية هذه العناصر لكنها لم تستطع الحسم فيها، مثل نص فوق صورة أو محتوى قد لا يتسع لشاشة الهاتف. ولا تُحتسب إخفاقات. اطلب من مطوّرك فحص كل منها.

  • يحتاج إلى مراجعةWCAG 4.1.3

    رحلة لوحة المفاتيح: الإضافة إلى السلة باستخدام لوحة المفاتيح

    نجح الضغط على Enter في زر الإضافة إلى السلة (تغيّر عدد عناصر السلة في رأس الصفحة، ظهرت رسالة «أُضيف إلى السلة»)، لكننا لم نجد رسالة حالة أو نافذة حوار تتلقى التركيز، لذا قد لا يسمع مستخدمو قارئات الشاشة أن المنتج أُضيف.

    حالة واحدة في صفحة واحدة · كيف تفحص ذلك

  • يحتاج إلى مراجعةWCAG 1.4.10

    قد لا تتسع صفحة المنتج لشاشة ضيقة دون تمرير أفقي

    بعرض 320 بكسل CSS (ما يعادل تكبيرًا بنسبة 400%)، تكون الصفحة أعرض من الشاشة بمقدار 200px. يمكن أن تُمرَّر جداول البيانات والخرائط أفقيًا؛ أما النصوص وعناصر التحكم فلا ينبغي ذلك.

    حالتان في صفحة واحدة · كيف تفحص ذلك

    عناصر للفحص (المعروض منها: 2)
    div.icons
    <div class="icons"> <button type="button"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="11" cy="11" r="7"></circle><path d="M20 20l-3.5-3.5"></path></svg></bu
    div
    <div> <p style="color:#6a6a60;font-size:14px">Harbor &amp; Pine</p> <h1>Trail Daypack 22L</h1> <p class="price" style="font-size:22px">$128<span class="compare">$150</span></p> <p class="opt-label">Si
  • يحتاج إلى مراجعةWCAG 1.4.10

    قد لا تتسع الصفحة الرئيسية لشاشة ضيقة دون تمرير أفقي

    بعرض 320 بكسل CSS (ما يعادل تكبيرًا بنسبة 400%)، تكون الصفحة أعرض من الشاشة بمقدار 55px. يمكن أن تُمرَّر جداول البيانات والخرائط أفقيًا؛ أما النصوص وعناصر التحكم فلا ينبغي ذلك.

    3 حالات في صفحة واحدة · كيف تفحص ذلك

    عناصر للفحص (المعروض منها: 3)
    div.icons
    <div class="icons"> <button type="button"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="11" cy="11" r="7"></circle><path d="M20 20l-3.5-3.5"></path></svg></bu
    article.card
    <article class="card"><span class="badge">Sale</span><a href="/products/trail-daypack"><img src="/img/beanie.svg"><h3>Pine Wool Beanie</h3></a><p class="price">$32<span class="compare">$40</span></p><
    button.btn.light
    <button class="btn light" type="submit">Subscribe</button>
  • يحتاج إلى مراجعةWCAG 1.4.3

    يجب أن تستوفي العناصر الحد الأدنى لنسبة تباين الألوان

    تعذّر تحديد لون خلفية العنصر لأنه يحتوي على عقدة صورة.

    حالة واحدة في صفحة واحدة · كيف تفحص ذلك

    عناصر للفحص (المعروض منها: 1)
    h1
    <h1>Gear for the long way home</h1>

أعد اختبار إصلاحاتك

بعد أن يُجري مطوّرك التغييرات، أعد الاختبار. نُعيد تشغيل الفحوصات الآلية نفسها على الصفحات نفسها، واختبار لوحة المفاتيح، ورحلة لوحة المفاتيح، ونبيّن المشكلات التي لم تعد تظهر لنا. يتضمن التقرير 5 إعادات اختبار.

تُجرى إعادات الاختبار على التقارير المدفوعة.

الفحوصات اليدوية

لا تستطيع الأدوات الآلية الحكم على هذه الأمور. أجرِ هذه الفحوصات قبل أن تعدّ العمل منتهيًا.

  • أكمل عملية الشراء باستخدام لوحة المفاتيح فقط: فرحلتنا الآلية تتوقف عند زر إتمام الشراء ولا تدخل صفحة الدفع أبدًا.
  • كرّر ذلك باستخدام قارئ شاشة (VoiceOver على Mac: Cmd+F5؛ وNVDA على Windows)، وتأكد من إعلان الأسعار والمتغيرات والأخطاء.
  • كبّر المتصفح إلى 200% وتأكد من عدم تداخل أي شيء أو اختفائه.
  • تحقّق من أن فيديوهات المنتجات والعلامة التجارية تتضمن ترجمة نصية دقيقة.
  • أرسل النماذج وفيها أخطاء (النشرة البريدية، والتواصل، وإتمام الشراء)، وتأكد من وصف الأخطاء نصيًا.
  • تحقّق من إمكانية إيقاف عروض الشرائح مؤقتًا وإغلاق النوافذ المنبثقة، بما في ذلك بمفتاح Escape.

مسودة بيان إمكانية الوصول

عدّل الأجزاء الموجودة بين قوسين، ثم انشر البيان في صفحة يوجد رابط إليها في تذييل موقعك.

بيان إمكانية الوصول لموقع ⁨harborandpine.example⁩

نريد أن يتمكن الجميع من التسوق على ⁨harborandpine.example⁩، بمن فيهم الأشخاص الذين يستخدمون قارئات الشاشة أو التنقل بلوحة المفاتيح أو التكبير أو غيرها من التقنيات المساعدة. ونسعى إلى استيفاء إرشادات إمكانية الوصول إلى محتوى الويب (WCAG) 2.2 عند المستوى AA.

ما نقوم به
- نختبر متجرنا بأدوات آلية لإمكانية الوصول ونصلح المشكلات التي تكتشفها.
- نختبر خطوات التسوق الأساسية (التصفح، وصفحات المنتجات، والسلة، وإتمام الشراء) باستخدام لوحة المفاتيح وقارئ الشاشة.
- نراجع تطبيقات الجهات الخارجية وأدواتها المضمّنة من حيث إمكانية الوصول قبل إضافتها.

القيود المعروفة (حتى 24 سبتمبر 2026)
- الوصول بلوحة المفاتيح والتركيز (WCAG 2.1.1). نعتزم إصلاح ذلك بحلول 2026-10-08.
- روابط وأزرار بلا أسماء (WCAG 2.4.4، 4.1.2). نعتزم إصلاح ذلك بحلول 2026-10-08.
- صور بلا بدائل نصية (WCAG 1.1.1). نعتزم إصلاح ذلك بحلول 2026-10-08.
- حقول نماذج بلا تسميات (WCAG 4.1.2). نعتزم إصلاح ذلك بحلول 2026-10-08.
- تباين ألوان منخفض (WCAG 1.4.3). نعتزم إصلاح ذلك بحلول 2026-10-08.

الملاحظات والمساعدة
إذا واجهت صعوبة في استخدام أي جزء من متجرنا، فتواصل معنا على [بريدك الإلكتروني] أو [رقم هاتفك]. أخبرنا بالصفحة والمشكلة، وسنساعدك على إتمام عملية الشراء ونردّ عليك خلال 5 أيام عمل.

أُعدّ هذا البيان في 24 سبتمبر 2026، وستتم مراجعته مرة واحدة سنويًا على الأقل.

سجل الأدلة

حُمِّلت كل صفحة في Chromium واختُبرت باستخدام axe-core 4.13.0. وتحدّد تجزئة SHA-256 النتائج الأولية لكل صفحة.

الصفحات المختبرة مع أوقات الاختبار وتجزئات النتائج
الصفحةوقت الاختبار (UTC)HTTPالمشكلاتSHA-256
الصفحة الرئيسيةhttps://harborandpine.example/2026-09-24 14:05:0020015da1e5470a57859a864332912dd1e4f62b4c4f64487ba144865b74879519599a3
صفحة المجموعةhttps://harborandpine.example/collections/all2026-09-24 14:05:092002028d8dfcf5ca953af353264a930a351bea3cf23f98a303874b32e5da355a4c8b0
صفحة المنتجhttps://harborandpine.example/products/trail-daypack2026-09-24 14:05:182002068a173ddfd16eeeef5e36d6c0fa9d426769f0d96e358c5e35b67608dd84139b4
السلةhttps://harborandpine.example/cart2026-09-24 14:05:27200125b7945c2cdf779dcef2bd8975d96eb8f42d8dedbf10e767ec80199dd22ce257c
صفحة محتوىhttps://harborandpine.example/pages/about2026-09-24 14:05:362009daf61ae856358a574e63f9357db0bfd9ae6079065acf3aebd5b3c5a7f460e53f
صفحة إضافيةhttps://harborandpine.example/products/pine-wool-beanie2026-09-24 14:08:0020020f708ccd7de34dfb65d59d3716580b6ec15a6420020c8387fa4da4e2ff5bd52d3
صفحة إضافيةhttps://harborandpine.example/products/enamel-camp-mug2026-09-24 14:08:0720019c619bcd29e89d06099d174b9fc19305a42f2fa9bdddb600a750c867fc7477022
صفحة إضافيةhttps://harborandpine.example/products/harbor-lantern2026-09-24 14:08:14200205720b7433b75050ba413ac74c2bd726b0620aaa68f7918083052383257d5c418
صفحة إضافيةhttps://harborandpine.example/products/insulated-bottle2026-09-24 14:08:21200196f1972c22e477c9a63e2dfde1123ed759718f6a75e1606b23f208848691510fd

النطاق والمنهجية

ما اختبرناه

  • حُمِّلت 9 صفحات (الصفحة الرئيسية، صفحة المجموعة، صفحة المنتج، السلة، صفحة المحتوى، الصفحة الإضافية) في Chromium بمقاس 1366×900.
  • قواعد axe-core 4.13.0 لمعايير WCAG 2.0 و2.1 و2.2 للمستويين A وAA، إضافةً إلى قواعد الممارسات الفضلى (تظهر بوصفها P3).
  • اختبار لوحة المفاتيح: 40 ضغطة على Tab في الصفحة الرئيسية، بحثًا عن مصائد التركيز ومؤشرات التركيز المفقودة.
  • رحلة تسوق باستخدام لوحة المفاتيح فقط من الصفحة الرئيسية إلى زر إتمام الشراء (انظر أعلاه).
  • فحص إعادة التدفق بعرض 320 بكسل CSS في الصفحة الرئيسية وصفحة المنتج (WCAG 1.4.10).

ما لم نختبره

  • صفحات إتمام الشراء والدفع، وإرسال النماذج، وصفحات الحساب والصفحات التي تتطلب تسجيل الدخول.
  • ما يعلنه قارئ الشاشة فعليًا، بما يتجاوز القواعد الآلية.
  • الترجمة النصية للفيديو والوصف الصوتي، ومستندات PDF، والمحتوى داخل إطارات الجهات الخارجية.
  • اللغة الواضحة، وإمكانية الوصول المعرفية، وأي شيء آخر يحتاج إلى حكم بشري (انظر «الفحوصات اليدوية»).

كيف تقرأ النتائج

إخفاق مؤكَّد
فشل اختبار آلي أو رحلة لوحة المفاتيح، مع عرض الدليل.
يحتاج إلى مراجعة
رصد اختبار شيئًا لم يستطع الحسم فيه؛ وينبغي أن يفحصه شخص.
ناجح
لم تجد القاعدة الآلية أي إخفاق في الصفحات المختبرة.
لم يُختبر
خارج ما يمكن للاختبار الآلي تغطيته هنا؛ انظر «الفحوصات اليدوية».

احصل على هذا التقرير لموقعك.

ابدأ بالفحص المجاني لترى مشكلاتك ومدى مطابقتها لخطابك. سعر تقرير إصلاح إمكانية الوصول هو $249، دفعة واحدة، ويكون جاهزًا خلال نحو 10 دقائق.

افحص موقعك مجانًا

يصف هذا التقرير نتائج اختبارات آلية ويقدّم إرشادات للمعالجة. وهو ليس استشارة قانونية، ولا يشهد بالامتثال لقانون ADA أو القانون الأوروبي لإمكانية الوصول أو أي قانون آخر.