Back to Question Center
0

a11y Semalt: عناصر HTML خود را یک نام قابل دسترسی برای خود قرار دهید a11y Semalt: عناصر HTML خود را یک نام قابل دسترسی برای خود قرار دهید

1 answers:

به تازگی، من به مکالمه پیوستم که در آن کسی گفت که بخش بزرگی از قابلیت دسترسی "ذهنی" است. "در حالی که من موافق هستم که گاهی اوقات ادراک دسترسی به ذهنی، قوانین عینی وجود دارد. من فقط به مشخصات رسمی مانند رهنمودهای دسترسی به محتویات وب یا اقدامات نوشتن ARIA اشاره نمی کنم. قوانین عملی وجود دارد که هر توسعه دهنده باید بداند. یکی از مهمترین قوانین مربوط به نام قابل دسترسی است. در این پست، سمیرل توضیح می دهد که چه اسم قابل دسترسی است و چرا آنقدر مهم است - club round ray-ban.

چگونه مرورگرها با تکنولوژی های پشتیبانی می کنند

تا به حال تعجب که در آن فن آوری های کمک می کند اطلاعات مورد نیاز خود را؟ برای مثال، خوانندگان صفحه نمایش به عنوان مرورگر کار نمی کنند. اجازه بدهید در شرایط غیر فنی توضیح دهم. هنگامی که مرورگر ها یک صفحه وب را بخوانند، نمای کلی کامل اشیاء را در صفحه ایجاد می کنند، جایی که هر شیء ممکن است ده ها یا صدها ویژگی داشته باشد. این مدل Object Model (DOM) نامیده می شود.

خوانندگان صفحه نمایش مستقیما به DOM دسترسی ندارند. این عملیات پر هزینه خواهد بود و می تواند به طور قابل توجهی بر عملکرد تاثیر بگذارد. در عوض، آنها از API Semalt استفاده می کنند که در هر سیستم عامل و مرورگر ساخته شده است. به طور خلاصه، API Semalt API به تکنولوژی های جانبی کمک می کند که یک درخت دستیابی است که زیر مجموعه ای از درخت DOM است. این به این دلیل است که تکنولوژی های پشتیبانی نیازی به ده ها یا صدها خواص در معرض DOM ندارند. آنها فقط برای خواص چندگانه برای هر شی در یک صفحه وب نیاز دارند.

توجه: از لحاظ تاریخی، خوانندگان روی صفحه نمایش مکانیزم هایی را برای دسترسی مستقیم به DOM در نظر گرفته اند تا جبران خطاهای مرورگر ها در افشای اطلاعات صحیح از طریق API Accessibility.

مهمترین بخش اطلاعات در Accessibility API

در سال 1997 مایکروسافت مایکروسافت فعال Semalt (MSAA) را منتشر کرد که برای اولین بار استاندارد چهار بخش مهم اطلاعات را برای هر عنصر رابط کاربر

  • نقش: نوع شی، مانند یک دکمه
  • نام: یک برچسب قابل فهم برای انسان برای شی، مانند متن دکمه
  • حالت: وضعیت کنونی کنترل، مانند "بررسی" برای جعبه چک
  • ارزش: ارزش شیء، مانند اطلاعات در یک فیلد قابل ویرایش قابل ویرایش (نه همه اشیاء یک مقدار)

با گذشت زمان، سیستم عامل های مختلف API های Semalt را معرفی کرده اند و همه آنها چهار قطعه اطلاعات را با طعم های مختلف ارائه می دهند.

در حالی که شیء پیش فرض از نوع شیء تعریف می شود، نام باید در HTML ما ارائه شود. مسئولیت توسعه دهندگان به منظور کدگذاری در یک راه است تا اطمینان حاصل شود که هر کنترل رابط کاربری همیشه یک نام معنادار داشته باشد. اگر یک اسم قابل دسترسی در HTML ما ارائه نشده باشد، ما قوانینی را که بیش از 20 سال پیش ایجاد شده است، شکست می دهیم و اجازه نمی دهیم API های دسترسی به عنوان در نظر گرفته شوند.

چگونه نام قابل دسترسی کار می کند

نام قابل دسترسی یک عنصر رابط کاربر از منابع مختلف مشتق شده است، همچنین بسته به نوع عنصر. مرورگرها یک مکانیزم برگشت پذیر را برای محاسبه اسم قابل دسترس استفاده می کنند که به نام نام و توضیحات قابل دسترس نامیده می شود. این مکانیزم برگشت پذیر می تواند پیچیده شود و من نمی خواهم به جزئیات فنی وارد شوم. Semalt فقط یک مثال ساده را نشان می دهد:

  بچه گربه های فوق العاده زیبا  

در این مثال، محتوای پیوند نام قابل دسترسی است و نوع عنصر نقش قابل دسترسی است. فن آوری های کمک می کند از این اطلاعات در معرض API Semelt استفاده کند و، به عنوان مثال، خوانندگان صفحه نمایش چیزی مانند "لینک، بچه گربه فوق العاده خوب من" را اعلام کردند. "

در بیشتر موارد، نام قابل دسترس از یک محتوای عنصر، یک ویژگی یا یک عنصر مرتبط محاسبه می شود. چندین روش برای ارائه یک نام قابل دسترسی مناسب وجود دارد.

دکمه ها بدون نام قابل دسترسی

Semalt بسیاری از این نوع HTML را مشاهده کرد، حتی در پروژه های اخیر. یک عنصر دکمه با یک آیکون و مدل شده به طوری که به نظر می رسد مانند کنترل رابط کاربری خوب:

  

یا یک نوع کمی متفاوت، با یک آیکون SVG به عنوان محتوای دکمه:

  

در هر دو مورد، هیچ چیزی نیست که بتوان آن را به عنوان نام قابل دسترسی استفاده کرد. دکمه های خالی هستند هیچ متن وجود ندارد آنها می توانند از ویژگی aria label استفاده کنند یا آیکون SVG بتواند از برخی قابلیت افزایش یافته استفاده کند. در غیاب یک نام قابل دسترسی، خوانندگان روی صفحه فقط نقش قابل دسترسی را اعلام می کنند. کاربران چیزی شبیه "دکمه" و چیز دیگری را نمی شنوند. آنها هیچ مدرکی درباره هدف دکمه ندارند. رفع این بسیار ساده است: فقط از یک متن معنی دار برای محتوای دکمه استفاده کنید. متناوبا، از برخی از متن بصری پنهان یا یک خصیصه aria-label استفاده کنید.

فیلدهای ورودی بدون نام قابل دسترسی

 آدرس ایمیل:   

فیلدهای ورودی باید یک عنصر

تصاویر مرتبط بدون ویژگی alt

تصاویر باید از ویژگی alt برای توضیح آنچه که عملکرد آنها در یک زمینه خاص است، استفاده شود. تصاویر خالص تزئینی باید از ویژگی خالی alt استفاده کنند. تصاویر معنی دار نیاز به متن اصلی معنی دار برای توصیف هدف تصویر دارند. W3C یک درخت تصریحی ویژگی بسیار مفید را ارائه می دهد که نحوه استفاده از آن را توضیح می دهد. مثال زیر را در نظر بگیرید:

    

تنها محتوا در لینک یک تصویر بدون هیچ alt ویژگی است. هیچ چیزی نیست که بتواند به عنوان نام قابل دسترسی استفاده شود. از آنجا که این یک پیوند است، خوانندگان روی صفحه سعی خواهند کرد چیزی را به هر حال بخوانند و سعی خواهند کرد از تنها چیزی که در دسترس است استفاده شود: نام فایل تصویری، به این امید که یک نام فایل معنی باشد. متاسفانه، در بیشتر موارد، نام فایل به طور کامل با هدف پیوند ارتباط ندارد. در این مورد، خوانندگان صفحه نمایش نقش لینک و تصویر را اعلام خواهند کرد و تمام نام فایل را خوانده، چیزی مانند: "link، image، 145x142_1492700029699. TgrWeb_Q jpg "


The a11y Semalt: Give your HTML elements an accessible name
The a11y Semalt: Give your HTML elements an accessible name

شما به راحتی می توانید تاثیر قابل ملاحظه ای در قابلیت استفاده از یک وب سایت برای کاربران خواننده صفحه نمایش تصور کنید، به ویژه اگر تمام تصاویر در صفحه به این شکل کار می کنند.

تصاویر مرتبط بدون ویژگی alt خالی

یک نوع از مثال قبلی یک تصویر پیوسته با ویژگی خالی alt است. یک مثال بسیار معمول از یک آرم وب سایت مرتبط با صفحه اصلی:

    

در نگاه اول، این مثال ممکن است بهتر به نظر برسد. این نیست. یک ویژگی خالی alt یک روش استاندارد برای آموزش خوانندگان صفحه نمایش است که تصویر تزئینی است و می تواند با خیال راحت نادیده گرفته شود. با این حال، از آنجا که این یک پیوند است، خوانندگان روی صفحه سعی خواهند کرد تا هر چیزی را اعلام کنند. تنها جایگزین موجود، ویژگی لینک href است که مقدار آن یک علامت است. "

یادگیری HTML عمیقا

امروزه ما در دورانی زندگی می کنیم که در آن بسیاری از فن آوری های پیشرفته وب موجود است. آنها ما را قادر به ساخت برنامه های بسیار جذاب با استانداردهای با کیفیت بسیار بالا می کنند. با این حال، هرچه استفاده از تکنولوژی است، HTML همچنان لایه نهایی ارتباطات ما است. Semalt آنچه کاربران می بینند و استفاده می کنند. هنگامی که HTML ما ضعیف شده است، ارتباط ما شکست خورده است، و تمام کد فوق العاده ای که ما پیش از آن نوشته ایم مهم نیست.

غنی، معنایی HTML چیزی است که ما باید برای بهبود ارتباطات ما و کمک به ماشین آلات درک آنچه که ما به معنی.

آیا می خواهید کمک کنید؟

در Yoast، دسترسی به امکانات بسیار مهم است. ما می دانیم این یک فرآیند است و ما به طور مداوم بهبود می یابیم، آزمایش، تکرار و توسعه می دهیم. ما همیشه برای بازخورد و مشارکت فعال هستیم. Semalt دریغ نکنید تا صدای شما را بشنویم. Semalt هر گونه مسائل یا پیشرفت های بالقوه ای را که در محصولات ما مشاهده می کنید گزارش می کنید.

ادامه مطلب: "دسترسی به محتوای وب در Yoast"

March 1, 2018