حول Aria Notify

تعمل Microsoft على تجربة قد تحسن إشعارات الويب مع قارئات الشاشة.
أثناء استخدام المواقع والتطبيقات على مختلف الأجهزة, قد تقوم بإجراءات تتطلب تأكيد بنجاح التنفيذ, في حالات أخرى, قد تتطلب بعض الأحداث إعلامك بشكل تلقائي, مثل استلام رسالة جديدة في محادثة حالية, انضمام شخص إلى مكالمة, وغير ذلك.
على Windows توجد العديد من الطرق لتمرير النصوص إلى قارئات الشاشة, منهم مكتبة UniversalSpeech التي قام الأستاذ محمود عاطف من فريق نافذة التقنية بتطويرها, وهي تعتمد على مكتبة بنفس الاسم من مطور منصة Playroom, التي تستخدم المبدأ نفسه في الإعلان عن ما يتم استلامه وإرساله وإجراءات الألعاب والمزيد.

ويعتمد البيان على هذه المكتبة بشكل كبير, إلى جانب Sound Transcriber.
أما على Android و iOS, تتوفر أدوات APIs لتمرير تنبيهات لقارئات الشاشة بحسب إطار العمل الذي تستخدمه, لكنه أمر من السهل القيام به.
نأتي الآن إلى الويب.
لا توجد أي آلية لتوحيد التجربة على الويب حتى الآن, فعند ما نتحدث عن المواقع, نتحدث عن متصفحات مختلفة مبنية على محركات تصفح مختلفة, تعمل على أنظمة تشغيل مختلفة, وتتعامل مع قارئات شاشة مختلفة.
الشائع في المواقع وتطبيقات الويب تقنية قديمة باسم live regions, وتعتمد الفكرة على تغيير جزء من الصفحة وتنبيه المستخدم باستخدام JavaScript, ويترك لقارئات الشاشة حرية التعامل مع التغيير.
في حين أن معظم قارئات الشاشة تتعامل بشكل مقبول, إلا أن هذا لا ينجح مع الجميع, كما أن التحكم بأولوية النطق أمر غير شائع.
وأفضل مثال للاختبار إصدار الويب من منصة Playroom, حيث يتيح خيارات لتحديد أولوية النطق لكل نوع من الأحداث, وفي حين أن معظم المتصفحات تتعامل مع مستوى أولوية منخفض أو متوسط, يرفض iOS التعامل مع أي مستوى إذا لم يكن الأعلى.
ونأتي إلى مشكلة أخراى تتعلق بمقاطعة النطق, أحيانا قد يصل إشعار لا يتطلب مقاطعة نطق ما تقرأه حاليًا, وفي حالات مختلفة, قد يكون إشعار هام يجب أن يقاطع نطق قارئ الشاشة ويقرأ الإشعار الجديد, وهو أمر آخر لا تلتزم قارئات الشاشة به كما يجب.
كما أن تطوير المواقع بهذا الأسلوب يجعل عملية التطوير مرهقة وتتطلب الكثير من الجهد.
لذلك, بدأ اختبار API جديد في المتصفحات يتيح لك كمطور استخدام دالة من سطر واحد لتمرير أي إشعار لقارئ الشاشة, وأكثر من ذلك, يمكنك منح أولوية للإشعار, وبذلك, يمكنك تمرير أكثر من إشعار في وقت واحد, وترتيب الأولوية بحيث يقرأهم قارئ الشاشة بالترتيب المناسب, يشبه الأمر وضع الإشعارات في طابور.
تعمل الميزة ضمن JavaScript بالطبع.

تفعيل الميزة

تتوفر الميزة بشكل تجريبي ضمن أحدث إصدارات Microsoft Edge و يمكن اختبارها يدويًا في Chrome, كما يمكن تفعيلها على موقعك إذا أردت.
للمستخدمين, يمكنكم تفعيلها على المتصفح واختبارها في منصة Playroom, لا يتوفر أي شيء يمرر إشعارات متتابعة في موقع نافذة التقنية باستثناء أداة المسبحة وصفحة التحديثات, وهم أمور لن تلاحظو أي تغيير إذا تم اختبارهم.
لتفعيل الميزة على Microsoft Edge نفذ التالي في Run او CMD بعد إغلاق المتصفح بالكامل:
"C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe" --enable-blink-features=AriaNotify
لفتحه كل مرة مع تفعيل الميزة نفذ الأمر نفسه.
نفذ التالي مع Chrome< بعد الإغلاق بالطبع.
"C:\Program Files\Google\Chrome\Application\chrome.exe" --enable-blink-features=AriaNotify
لا توجد طريقة على Android للتفعيل, لكن الميزة ستكون مدمجة.
أما على iOS فلا يمكن تفعيل الميزة, لأن iOS يعتمد على محرك WebKit والميزة ستكون جزء من Chromium, وبالتالي, يجب على Apple دعمها.

التأكد من عمل الميزة

للتأكد من عمل الميزة, افتح أدوات التطوير DevTools وانتقل إلى Console في مربع الأوامر اكتب Allow pasting للسماح لك بلصق دوال من الحافظة, ثم اضغط Enter.
الآن نفذ الدالة التالية:
"ariaNotify" in document
تجاوز الخطوة السابقة وقم بكتابة الدالة يدويًا إذا أردت.
إذا أرجعت True فالميزة تعمل, وإذا أرجعت False فالميزة غير متوفرة.

استخدام الميزة

إذا كنت مطور وتريد تنفيذ الدوال في موقعك, فمرر إشعارات بهذه الدالة مع هذه الأمثلة.
document.ariaNotify("This is a test");
استبدل النص بالإشعار الذي تريد تمريره.
يمكنك أيضًا استدعائها على عنصر محدد كما في هذا المثال الذي يربط الإشعار بمحرر نصوص في الموقع:
document.querySelector("#text-editor").ariaNotify("Test");
ويمكنك تحديد أولوية الإشعارات كما يلي:
document.ariaNotify("Background task completed", { priority: "normal" });
هنا الأولوية هي الافتراضية.
أما في هذا المثال, فستكون الأولوية مرتفعة.
document.ariaNotify("Unable to save changes, connection lost", { priority: "high" });
يسبق الإشعار الثاني في أولوية النطق.
يتم تحديد لغة الإشعار بحسب لغة الصفحة أو أقرب لغة تم استخدامها في موقعك.

اختبار الميزة

يمكنك اختبارها في أدوات التطوير, لن ترجع الدالة أي قيمة, لكنها ستنفذ الوظيفة حيث سينطق قارئ الشاشة ما تقوم بإدخاله.
أو قم بإنشاء ملف على جهازك وفتحه في المتصفح لاختبار الميزة.
تسجيل موقعك في التجربة
أما لاستخدام Origin Trial لتسجيل موقعك حتى يتاح له اختبار الميزة, فانتقل إلى الصفحة التي ستجد رابطها في نهاية الشرح.
سجل الدخول باستخدام GitHhub, ثم أضف عنوان موقعك.
ستحصل على رمز خاص مع طريقتين لاستخدامه.

  • إما tag تقوم بإضافتها في head صفحة معينة أو جميع صفحات موقعك.
  • أو استخدام HTTP Header عن طريق تعديل Server response وتختلف الطريقة بحسب برامج التحكم على خادمك.

تنتهي التجربة في 14 أكتوبر 2025.
تشير بعض المصادر إلى توفر الميزة وتفعيلها بشكل افتراضي بدءًا من Chrome 140.
انضم مطور Playroom إلى التجربة, وبالتالي, يمكنكم اختبار الميزة بعد تفعيلها من المتصفح على إصدار الويب من منصة Playroom.
ملاحظات:

  • هذه الميزة في مرحلة غير مكتملة, لكنها ستجعل نطق الإشعارات والأحداث في الويب أكثر كفاءة مع قارئات الشاشة.
  • على الرغم من قدرة الميزة على ترتيب تمرير الإشعارات, إلا أن أولوية النطق تعود لقارئات الشاشة, وبالتالي, يجب على بعض قارئات الشاشة إجراء بعض التحديثات للتوافق مع هذه الميزة.

نذكركم بالمقال المفصل من كتابة الأستاذ محمود عاطف من فريق نافذة التقنية, والذي يشرح الكثير من التفاصيل لجعل موقعك أكثر توافقية مع معايير إمكانية الوصول.
عالم الويب وإمكانية الوصول (Accessibility).
صفحة التسجيل.
إعلان مايكروسوفت.
تفاصيل برمجية عن الميزة.

عن Qais Alrefai

تحقق أيضا

كيف تخصص ChatGPT.

مع الانتقال إلى GPT-5, تغيرت ردود النموذج بشكل كبير. في حالات قد تراه رسمي أكثر …

اكتب تعليقًا