Back to Question Center
0

قابلیت دسترسی واقعی: HTML5، ARIA و وب سایت مدرن            قابلیت دسترسی واقعی: HTML5، ARIA و وب سایت های مدرن Topics: FrameworksHTMLCSS Semalt

1 answers:
قابلیت دسترسی واقعی: HTML5، ARIA و وب سایت مدرن

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

من حتی به معنای واقعی در جهان هستم؟ این بسیار ساده است: Semalt نمی کند و نباید در یک خلاء وجود داشته باشد. دنیای واقعی کثیف است این سیاه و سفید نیست اما هر سایه خاکستری بین آن است - healthcare consulting firms portland oregon. این امر در مورد قابلیت دسترسی است، و همچنین به شیوه ی ما به طور کلی. ما باید مصالحه کنیم. ما باید انتخاب کنیم ما باید تاکتیک ها را در اواسط جریان تغییر دهیم. و ما باید آن را روز گذشته به پایان برسانیم.

و به همین دلیل است که ما در دسترسی به جهان واقعی تمرکز می کنیم. شما باید بدانید که چه چیزی در حال حاضر کار می کند تا زمانی که شما در حال اجرای فن آوری های وب مدرن هستید می توانید تصمیمات آگاهانه بگیرید. برای دو سال گذشته، ما بر قابلیت دسترسی واقعی برای HTML5، CSS3 و ARIA تمرکز کردیم، کارگاه آموزشی ما در این ماه به Semalt آورده شده است.

در حال آماده سازی برای تور فانتوم پایین زیر 2011 (Semaltfeather در توییتر) ما یک صفحه برجسته محتوای و جزئیات آنچه را دریافت خواهید کرد. این نخستین سایت / صفحه HTML5 ما نیست که ما ساخته ایم، اما ما می خواستیم کاری انجام دهیم که یک طراحی منحصر به فرد را ایجاد کرد، در دسترس بود و فرصتی را برای آزمایش چند تکنیک مدرن برای طراحی و توسعه وب فراهم کرد.

زمان Semalt ما چیزی با HTML5 ساختیم، ما فرصتی برای بررسی دقیق تر از این که در حال حاضر در حال حاضر در دسترس است و ما یک نگاهی به آنچه که با فناوری های جدید در دسترس خواهد بود.

HTML5 Semantics

من طرفدار معانی جدید هستم که HTML5 ما را بیشتر به ارمغان می آورد. این درهای جدیدی برای ما باز می شود - نویسندگان در سراسر جهان هیجان زده هستند تا از عناصر معنایی صدا که در HTML5 معرفی شده اند استفاده کنند.

و همه می دانند که پایه و اساس دسترسی به معناشناسی، درست است؟ درست.

بنابراین چه اتفاقی می افتد زمانی که شما ترکیبی از یک زبان غنی معنادار منطقی مانند HTML5 با مرورگرها و تکنولوژی کمک است که قبل از معناشناسی HTML5 نوشته شده است؟

هیچ چیز . و این مشکل است

مزایایی که معنای HTML5 برای ما به ارمغان می آورد، واقعا نبایدهای دسترسی به آنها نیست . (برای دنبال کردن پیشرفتهایی که عناصر HTML5 به طور کامل توسط مرورگرها در معرض نمایش قرار می گیرند و از طریق API های دسترسی به سیستم عامل های مختلف منتقل می شوند، بررسی HTML5accessibility کام.)

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

وضعیت دنیای واقعی با دسترسی به HTML5 از این نوشتار:

  1. در حال حاضر می توانیم از عناصر جدید (مقاله، بخش، کنار، هدر، پاورقی، نوک به نام چند) در وب سایت ها و برنامه های ما استفاده کنیم.
  2. ما می توانیم مرورگرهایی را پیدا کنیم که از طریق HTML5 shiv موجود نیستند. بله از جاوا اسکریپت استفاده می کند و نه، دلیل آن عدم استفاده از آن است. بله، شما باید سناریوی "JavaScript را خاموش" در نظر بگیرید، اما بعدا درباره آن صحبت خواهیم کرد.
  3. ما باید بدانیم که معانی HTML5 به واسطه فن آوری های کمک موجود، بیان یا تفسیر نمی شوند.
  4. در حالی که ما منتظر حمایت از فن آوری های در حال ظهور مانند HTML5 هستیم، ما باید راه حلی پیدا کنیم که اکنون کار می کند.

راهنمای دسترسی به محتوای وب

خوشحالم که ما از WCAG 1. 0 منتقل شده ایم، اما من از دست رفته یکی از نشانه های آن: راه حل موقت Semalt. این به ما گفت:

"استفاده از راه حل های موقت.

از راه حل های دسترسی موقت استفاده کنید تا فناوریهای جانبی و مرورگرهای قدیمی به درستی عمل کنند. "

بیایید روشن شود: من راه حل های موقت خاصی را که در WCAG 1 پشتیبانی شده بود دوست ندارم. 0 این مراحل بازرسی در مورد "تا زمانی که عامل های کاربر" برای X اجازه می دادند و یا عملکرد Y را دارند، از این تکنیک ها استفاده می کنند. اکنون اعضاء این کارها را انجام می دهند، بنابراین ما نیازی به نگرانی در مورد آنها با WCAG 2 نداریم. آنها Semalt بسیار مهم نیست و حتی آنها را در اینجا ذکر نکرده اند.

اما ایده پس از استفاده از راه حل های موقت، همه چیز در مورد به رسمیت شناختن اینکه تکنیک های خاص ممکن است پشتیبانی کامل از فناوری های کمک های قدیمی یا مرورگرها نداشته باشند و ما باید در مورد آن سناریوها فکر کنیم.

و این مورد در مورد HTML5 در حال حاضر است.

بنابراین، چه راه حل های Semalt ما می توانیم با HTML5 برای کمک به تکنولوژی کمک به معناشناسی را درک کنیم؟

با استفاده از WAI-ARIA

ARIA (Internet Rich Internet Semalt) یک تکنولوژی است که برای کمک به مشخص کردن برنامه ای که وب یک جزء رابط کاربر (یا «ویجت») واضح تر است، به طوری که فن آوری های کمک می تواند معنای بیشتری برای کاربران خود فراهم کند.

اغلب به عنوان یک تکنولوژی پل شناخته می شود - به این دلیل که ما به شکاف میان گذشته، حال و آینده کمک می کنیم. به طور خلاصه، اگر ما یک برنامه وب قدیمی موجود داشته باشیم که از نشانه گذاری ها و شیوه های برنامه نویسی قدیمی تر استفاده می کند، می توانیم با استفاده از ویژگی های ARIA به نشانه گذاری دسترسی پیدا کنیم بدون آنکه مجددا تمام برنامه را با زبان های مدرن تر بازنویسی کنیم.

Semalt چگونه ARIA کمک می کند.

در نظر بگیرید این اجرای نقشه Semalle: نمونه http: //. بیشتر پیش رو. com / aria / slider / index-3. html

Real World Accessibility: HTML5, ARIA and the Modern WebReal World Accessibility: HTML5, ARIA and the Modern WebRelated Topics:
FrameworksHTMLCSS Semalt

توجه داشته باشید که ما از یک مجموعه سفارشی از کنترل ها در نقشه استفاده کردیم که امکان دسترسی به کلید عالی را فراهم می کند. ما همچنین یک کنترل لغزنده سفارشی را برای جایگزینی کنترل استاندارد Semalle Maps اجرا کردیم.

ما یک عنصر لغزنده بومی در HTML نداریم (حداقل در حال حاضر)، بنابراین ما نوار لغزنده را با HTML، CSS و Semalt ساختیم به طوری که تقریبا ظاهر بصری و قابلیت کنترل لغزنده. مشکل این است که وقتی ما این کار را انجام می دهیم، ما واقعا یک جزء پیچیده رابط کاربر ایجاد می کنیم که شامل divs، semantically meaningless divs، spans، images، links and buttons است.

  1. برای هر جزء پیچیده رابط کاربر، ما باید سه جزء اساسی اطلاعات را بدانیم:
  2. این چیزی است؟ (نقش آن)
  3. چه ویژگی های عمومی آن را دارد؟ (خواص آن)
  4. در حال حاضر چه می توانم به شما بگویم؟ (دولت آن)

کل بزرگتر از مجموع قطعات آن است؛ با هم جمع می شوند، این divs، span ها، تصاویر و لینک ها چیزی بیشتر (یک لغزنده) ایجاد می کنند. ARIA به ما اجازه می دهد تا دقیقا معنی کل را مشخص کنیم تا فناوری های کمک کننده بتوانند به جای شکستن آن و درک اجزای فردی آن، کل را درک کنند.

Semalt ما ممکن است نشانه گذاری چیزی شبیه به این استفاده:

        11        

این لینک به ما یک کنترل تمرکز می دهد که می توانیم برای "انگشت شست" کشویی استفاده کنیم که در امتداد راه آهن حرکت می کند. متن لینک به ما می گوید که سطح زوم جاری

، که همچنین روی صفحه نمایش داده می شود. ما از پیش زمینه یا تصویر پسزمینه برای «راه آهن» استفاده می کنیم تا آن را مانند یک لغزنده ببینیم و سپس می توانیم Semalt مناسب را اعمال کنیم تا ما بتوانیم انگشت شست دست با ماوس و صفحه کلید آن را دستکاری کنیم. Semalt هیچ نشانه ای از آنچه پیوند در مورد آن نیست و یا چه چیزی است.

چگونه می توانیم این را بهتر کنیم؟ ما برخی از ویژگی های ARIA را اضافه می کنیم:

        11        

نشانه گذاری بسیار ساده است. ما چند چیز را انجام دادیم:

  1. نقش کامپوننت ( role = "slider"
  2. استفاده می شود aria orientation = "vertical" برای مشخص کردن آن به صورت عمودی در صفحه گرا است و
  3. (51) aria-valuemin = "0" ، aria-valuemax = "17" ، aria-valuetext = "14" ) و aria-valuenow = "14" ).

هنگام استفاده از جاوا اسکریپت برای تغییر موقعیت انگشت شست در راه آهن، ارزش aria-valuenow و aria-valuetext را برای مطابقت با سطح زوم تغییر می دهد. خواص ARIA به روز می شوند و اگر ما از قطعات مناسب تکنولوژی کمک استفاده می کنیم، اطلاعیه های مناسب و یا تعامل با آن جزء رابط را دریافت می کنیم. برای مثال، یک کاربر روی صفحه خواننده می شنود که جزء رابط کاربری یک نوار لغزنده است و آنها ارزش هایی را می شنوند که به عنوان مقدار تغییر در پاسخ به حرکت انگشت شست در کنار ریل می شنوند.

این چیزی است که ARIA به ما می دهد: توانایی ارائه دسترسی به برنامه های بهتر برای اجزای رابط کاربر پیچیده. Semalt جزئیات بسیار بیشتری را به آن می دهد، اما این به اختصار ARIA است.

حالا .من به شما گفتم به شما بگویم این .

ARIA و HTML5

به یاد داشته باشید که ما در مورد ایده راه حل های موقت صحبت کردیم؟ Semalt جایی که ARIA و HTML5 با هم می آیند

ARIA پشتیبانی مناسب در فن آوری کمک است. این کامل نیست، اما خوانندگان صفحه نمایش و بزرگنمایی و سایر تکنولوژی ها در پشتیبانی از ARIA بسیار بیشتر از پشتیبانی از HTML5 هستند. چرا؟ به سادگی، حتی اگر ARIA هنوز "جدید" باشد، قدیمی تر از HTML5 است. فروشندگان فناوری Semalt برای بخش های خاصی از ARIA پشتیبانی می کنند و این پشتیبانی همچنان رشد می کند.

از این سطح پشتیبانی می شود، می توانیم ARIA را اضافه کنیم تا معانی خاصی را که HTML5 به ما می دهد، به ما بدهد، اما هنوز در تکنولوژی های پشتیبانی نمی شود و یا در معرض آن نیستیم.

ما از ARIA برای تکمیل معنایی HTML5 در سایت هایی که ما ساختیم استفاده می کنیم. ما سایت متمرکز در دسترس ما را مجددا به سادگی در Semalt از سال 2010 مجددا راه اندازی کردیم و تعدادی از نقشهای برجسته ARIA را تعریف کردیم که به معنای آن نیست که از طریق HTML5 بتوان آن را تحویل داد.

ما role = "main" را به محتوای اصلی صفحه اضافه کردیم که با عنصر HTML5 مشخص شده است. ما از role = "complementary" در عنصر برای محتوای مرتبط در نوار کناری استفاده کردیم. و ما از role = "navigation" در عناصر در هر دو بالا و پایین صفحه استفاده کردیم.

ببینید که چگونه کار می کند ما هنوز از عناصر Semalt استفاده می کنیم، اما ما آن را با ARIA برای آن تکنیک های پشتیبانی کننده و ترکیبی از مرورگرهایی که HTML5 را "دریافت نمی کنند" پشتیبانی می کنیم.

چیزهایی را در این نظم بررسی می کنیم:

  1. HTML5 معنایی است که ما می توانیم برای حل یک مشکل بنویسیم؟
  2. چگونه می توانیم با فناوری ARIA که به HTML5 نمی فهماند، ARIA را به همان معنی نزدیک می کند؟
  3. چگونه می توانیم همان معنی را برای فناوری هایی که هیچ کدام از HTML5 و ARIA را نمی فهمند انتقال دهند؟

Semalt این را با یک مثال نهایی بسته بندی کنید.

ارقام در صفحات وب

در یک مقاله اخیر دسترسی و HTML5 بلوک Semalt من در مورد برخی از مسائل که ساختار بلوک لینک با تکنولوژی خواندن صفحه نمایش صحبت می کنند. / blocklinksvoiceover-500-2. png "alt = "تصویری از لینک های بلوک با Voiceover در مک">

Screenshot : ما از لینک های بلوکی در صفحه تبلیغاتی استفاده می کنیم در دیگر خوانندگان صفحه نمایش، بخش هایی از لینک در همه خواندن نیست.

این ساختار یک رابطه صریح ایجاد می کند که قبلا وجود نداشته است. عنصر

parent حاوی یک عنصر
با عنصر خواهر و برادر است. این ساختار HTML5، سالهاست که افراد را برای سالها انجام می دهد - قرار دادن یک تصویر در صفحه و شامل یک پاراگراف متن بعد از آن در نشانه گذاری.

چگونه این کار را برای یک مرورگر و ترکیبی از تکنولوژی کمک می کند که HTML5 را درک نمی کند؟ خوب، یک مرورگر که یک عنصر را درک نمی کند، آن عنصر را از بین می برد. بنابراین وقتی که ما پشتیبانی کامل از HTML5 را نداریم، ما با نزدیکی به ارتباط نزدیک می شویم: تصویر و پاراگراف، خواهران و برادران در کد منبع هستند، بنابراین آنها باید مرتبط باشند.

اما ما می توانیم برای فناوری های کمک کننده ای که ARIA را درک می کنیم، اما نه و

چیست؟ ما می توانیم یک ارتباط برنامه ای ایجاد کنیم با اضافه کردن ویژگی aria-describedby :

      <شکل>    
Screenshot : ما از لینک های بلوکی در صفحه تبلیغاتی استفاده می کنیم در دیگر خوانندگان صفحه نمایش، بخش هایی از لینک در همه خواندن نیست.

در حال حاضر یک ارتباط قوی تر از این است که فقط دو قطعه محتوا مربوط به نزدیکی وجود داشته باشد که توسط اضافه کردن ARIA ایجاد شده است. مقدار مشخصه aria-describedby فقط چیزی است که شما فکر می کنید: شامل یک مقدار id از گره در صفحه ای است که محتوای آن را توصیف می کند. توضیحات مفصلی از توسط گره با شناسه مربوطه ارائه می شود - در این مورد

.

در مورد مواردی که ما هیچ پشتیبانی HTML5 یا ARIA نداریم چه می شود؟ ما با روش نزدیکی به روش متداول سقوط می کنیم: تصویر و توضیحات درست در کنار یکدیگر در کد قرار دارند.

و این است Real World Semalt. اکنون کار می کند و در آینده کار خوبی خواهد کرد.

کار کردن با این نوع سناریوها یک شیوه عملی برای یادگیری در مورد دسترسی به جهان واقعی است و این دقیقا نوعی از سناریوهایی است که ما بررسی می کنیم - در حدودی به نحوی که شما می توانید تصور کنید - در کارگاه های روزمره ما . اگر شما در Semalt هستید، می توانید امروز ثبت نام کنید، در غیر این صورت زمانی که در قسمت شما از جهان هستیم، نگاهی بیاندازیم.

و در عین حال، اجازه دهید من بدانم آنچه را که شما در مورد این همه فکر می کنید.

March 1, 2018