کروم سال را با گذراندن 88.2 درصد از آزمایشها در حوزه تمرکز دسترسپذیری Interop 2024 آغاز کرد. در ژوئن 2024، ما برای اولین بار بودیم که به 100٪ از آزمونهای موفق رسیدیم. این پست کارهایی را که برای رسیدن به این هدف اتفاق افتاده توضیح می دهد.
چه چیزی در منطقه تمرکز دسترسی گنجانده شده است؟
مانند هر منطقه تمرکز در Interop 2024، منطقه دسترسی با مجموعه ای از تست های پلت فرم وب برای ویژگی های انتخاب شده تعریف می شود. هدف آزمایشهای Interop 2024 این است که همه مرورگرها نامهای قابل دسترسی و نقشهای محاسبهشده را به یک شکل ایجاد کنند.
نام های قابل دسترسی هدف یا مقصود یک عنصر HTML را بیان می کنند. این به کاربران کمک می کند تا بفهمند این عنصر برای چیست و چگونه می توانند با آن تعامل داشته باشند. مشخصات accname مشخص می کند که چگونه مرورگرها این رشته نام قابل دسترسی را برای یک عنصر ایجاد می کنند. مشخصات ARIA شامل شرحی از نحوه محاسبه این نام است .
نقش محاسبهشده یک عنصر رشتهای است که نقش عنصر را همانطور که توسط موتور مرورگر محاسبه میشود نشان میدهد. این عمدتاً در ابزارهای توسعهدهنده و به عنوان مثال در تابع WebDriver getComputedRole
استفاده میشود که تست قابلیت همکاری را ممکن میسازد.
تیم کروم باید چه کار می کرد؟
دو حوزه بزرگتر کار وجود داشت که باید تکمیل میکردیم: تغییر نقشهبرداری نقشها به نقشهای عمومی و حذف نقشهای منسوخ شده. سپس برخی اصلاحات و ویژگی های کوچکتر اضافی برای پیاده سازی وجود داشت. علاوه بر کارهای زیر که تیم Chrome انجام داد، ما همچنین با مایکروسافت در مورد اصلاحاتی که برای ناحیه تمرکز دسترسی به 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
در کروم نگاشت میشود.
اصلاحات دیگر
ما پشتیبانی از نقش gridcell
را اضافه کردیم. این نقش جدید تمایز بین gridcell
و cell
را واضح تر می کند. gridcell
برخلاف cell
قابل تمرکز، ویرایش و انتخاب است.
ما محاسبه نقش بازگشتی را اضافه کردیم. قبلاً نقشهای بازگشتی را بررسی نمیکردیم، بنابراین اگر نقش اول معتبر نبود، از نقش دیگری استفاده میکردیم که در مشخصات ذکر شده نیست.
برخی از نقشها فقط در صورتی معتبر هستند که در زمینه صحیح باشند، ما یک بررسی برای استفاده نامعتبر از نقشها به شرح زیر اضافه کردیم:
- نقش
row
باید در داخلtable
,grid
,rowgroup
یاtreegrid
باشد . - نقش
rowgroup
باید در داخلtable
,grid
,tree
یاtreegrid
باشد . - نقش
listitem
باید در داخلlist
باشد.
اگر نقش نامعتبر باشد، Chrome اکنون از اطلاعات دیگری مانند عنصر HTML برای محاسبه نقش جایگزین استفاده میکند.
ما thead
و tfooter
را به عنوان موجود در درخت دسترسپذیری علامتگذاری کردیم. قبلاً آنها به عنوان نادیده گرفته شده علامت گذاری می شدند، اما همچنان در درخت گنجانده می شدند. اکنون سرصفحه و پاورقی جدول را می توان با فناوری های کمکی تجزیه کرد.
اگرچه ممکن است این تغییرات برای اکثر توسعه دهندگان قابل مشاهده نباشد، با توجه به اینکه همه مرورگرها برای اطمینان از عملکرد یکسان این موارد کار می کنند، ما اطمینان می دهیم که نقش های مختلف در همه جا به یک شکل در معرض دید قرار می گیرند.