التشغيل التفاعلي لعام 2024: ضبط Chrome بالكامل في مجال تركيز تسهيل الاستخدام

Jocelyn Tran
Jocelyn Tran

بدأ Chrome العام بالنجاح في اجتياز% 88.2 من الاختبارات في مجال تسهيل الاستخدام Interop 2024. في حزيران (يونيو) 2024، أصبحنا أول من اجتاز% 100 من الاختبارات. توضّح هذه المشاركة الجهود التي تم بذلها لتحقيق هذا الهدف.

كما هو الحال مع كلّ منطقة تركيز في Interop 2024، يتمّ تحديد منطقة تسهيل الاستخدام من خلال مجموعة من اختبارات منصّة الويب لميزات محدّدة. تهدف الاختبارات في Interop 2024 إلى التأكّد من أنّ جميع المتصفّحات تنشئ أسماء ووظائف محسوبة يمكن الوصول إليها بالطريقة نفسها.

تنقل الأسماء الظاهرة على واجهة المستخدم الغرض أو الهدف من عنصر HTML. يساعد ذلك المستخدمين في فهم الغرض من العنصر وكيفية التفاعل معه. تحدِّد مواصفات accname كيفية إنشاء المتصفّحات لسلاسل الأسماء السهلة الاستخدام هذه للعناصر. تتضمّن مواصفات ARIA شرحًا تفصيليًا لكيفية حساب هذا الاسم.

الدور المحسوب للعنصر هو سلسلة تمثّل دور العنصر كما احتسبه محرّك المتصفّح. ويُستخدَم هذا الإجراء بشكل أساسي في أدوات المطوّرين، على سبيل المثال، في دالة WebDriver‏ getComputedRole، ما يتيح اختبار التشغيل التفاعلي.

ما الذي كان على فريق Chrome فعله؟

كان هناك مجالان كبيران من العمل كان علينا إكمالهما، وهما تغيير ربط الأدوار بالأدوار العامة وإزالة الأدوار المتوقّفة نهائيًا. بعد ذلك، كان هناك بعض الإصلاحات والميزات الإضافية الصغيرة التي يجب تنفيذها. بالإضافة إلى الخطوات التالية التي أكملها فريق Chrome، تعاونّا أيضًا مع Microsoft في تنفيذ إصلاحات كانت تُجريها على Chromium في مجال تسهيل الاستخدام.

تغيير تعيين أدوار معيّنة إلى دور عام

يؤدي تغيير عملية الربط إلى دور عام إلى إزالة دلالات تسهيل الاستخدام من عنصر. لا توفّر العناصر العامة قيمة لشجرة تسهيل الاستخدام، لذلك لا يتم تضمينها في الشجرة. يساعد ذلك في تحسين الأداء ويجعل الشجرة أصغر حجمًا وأسهل في التحليل للتكنولوجيا المساعِدة. تم تغيير الأدوار التالية إلى دور عام.

  • عنصر <header> على مستوى <main> أو عنصر محتوى لقسمة الصفحة (<article> أو <aside> أو <nav> أو <section>)
  • عنصر <footer> ينطبق على <main> أو عنصر محتوى يقسم المحتوى (<article> أو <aside> أو <nav> أو <section>).
  • عنصر <aside> داخل عنصر محتوى لقسمة الصفحة (<article> أو <aside> أو <nav> أو <section>) بدون اسم يمكن الوصول إليه
  • <section> بدون اسم يمكن الوصول إليه
  • عناصر قائمة بلا ملف مرجعي (<li>)

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

إزالة دور تم إيقافه نهائيًا

أوقفنا دور directory نهائيًا وربطناه بدور القائمة. توقّفت ARIA 1.2 نهائيًا عن استخدام الدور directory. توضّح المواصفة أنّه يعادل دور list، ويجب أن يستخدم المطوّرون list. وللحفاظ على دلالات المحتوى القديم الذي يستخدم directory، تم ربطه الآن برمز list في Chrome.

إصلاحات أخرى

أضفنا إمكانية استخدام الدور gridcell. يوضّح هذا الدور الجديد الفرق بين gridcell و cell بوضوح أكبر. يمكن التركيز على gridcell وتعديله واختياره، على عكس cell.

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

تكون بعض الأدوار صالحة فقط إذا كانت في السياق الصحيح، لذلك أضفنا عملية تحقّق من الاستخدام غير الصالح للأدوار، على النحو التالي:

  • يجب أن يكون دور row داخل table أو grid أو rowgroup أو treegrid.
  • يجب أن يكون دور rowgroup داخل table أو grid أو tree أو treegrid.
  • يجب أن يكون دور listitem داخل list.

إذا كان الدور غير صالح، يستخدم Chrome الآن معلومات أخرى، مثل عنصر HTML ، لاحتساب دور بديل.

وضعنا علامة على thead وtfooter بأنّهما مُدرَجان في شجرة تسهيل الاستخدام. في السابق، كانت هذه العناصر مصنّفة على أنّها تم تجاهلها، ولكنّها كانت لا تزال مضمّنة في الشجرة. يمكن الآن لتقنيات المساعِدة تحليل عناوين الجداول وتذييلاتها.


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