Intro and Overview
Hello and welcome to the Way Aria week.
This is like super technical and this will be a little bit more like upfront talking about what the different concepts are.
And then in the live tutoring session, we are going to go and basically go into the details to look at different stuff and talk about it.
Because that makes much more sense than doing it in this, like, you know, with basically a wall between us.
So that's the plan.
Let's kick it off with talking about what is WAI-ARIA. It's one of the longer specifications from W3C, and it stands for Web Accessibility Initiative Accessible Rich Internet Application.
Now, you might be wondering, why does it have the WAI in front of it? Why isn't it just ARIA?
And the reason is that there were like trademark issues or something like that, so they couldn't use just ARIA.
So they added the way dash before it just to make sure that that works.
So in general, we will just call it ARIA and I will probably call it ARIA from now on.
And what is ARIA?
That's always the question, of course.
Accessible Rich Internet Application doesn't mean they make you rich as much as I would love that this was the case.
It basically means that there are rich interactions with internet applications, with web applications that you can specify.
So when you have more in-depth interactions with the user interface, then you can translate those states and properties and roles and names.
I will talk about all of that to assistive technology more efficiently.
Yeah, so it makes the various elements of the user interface compatible with assistive
technology so you can basically be more precise than just using HTML. HTML works great and
should always be your default, I will talk about that too, but it allows more nuance
assistive technology. Now there is a caveat though, and that is that WAI-ARIA is designed
to align with the web interaction with Windows 98 accessibility APIs. Now I don't know if you
noticed, but few people are using Windows 98 these days, mostly because it's 24 years old.
And so that's a little bit of a problem.
And the other problem is that this is not only accessibility APIs, but it's specifically screen reader accessibility APIs.
So everything we're talking about is mainly or was initially mainly aimed at screen reader users.
And that is, of course, a little bit of a problem because the accessibility is so much broader than just screen reader users.
So we have to keep that in mind.
And that means that a lot of things are happening in there.
I made a little diagram.
So that shows basically how ARIA helps to make sure that there is a good input and output for assistive technology.
So in the browser, we have HTML and CSS and JavaScript.
HTML and CSS basically build the accessible object model.
That's basically a representation of what's on the screen.
So if something is hidden, gets removed from the accessible object model.
If something is put in, put back in, it's added to the accessible object model and so on.
And JavaScript interacts with the accessible object model, sometimes by changing CSS, sometimes by changing HTML.
And the browser interprets all of that.
And that is basically where ARIA comes in.
Because you can in your HTML, or let's keep it just there.
So the browser interprets that all, then hands it over to an accessibility API.
And that accessibility API hands it over to assistive technology for interpretation, output, and input.
And then it goes back to the accessibility API and back to the browser.
Now, where ARIA comes in is that you are basically inside of the accessible object models, you are defining things for the accessibility API specifically.
Like you say, this is a button, and then the HTML will interpret that as a button.
It will be in the accessible object model, and that will be transferred to the accessibility API.
And so you have this like more control over what happens.
So ARIA informs the assistive technology how to interpret content and UI.
You can be like normative.
You can say like, yeah, you have to read this as this.
And that means that there is no meaningful error correction or anything like that.
You basically tell ARIA that this is what you do and this is what you want.
And then it does that.
And ARIA can be used in many different technologies.
So ARIA is not just for HTML and CSS, which will be what we're talking about today mostly.
But it is also applicable to like EPUBs or mobile applications.
whole like whatever wherever you have user interfaces you can use aria technology and
sometimes aria directly to reveal what is going on there and basically specify more directly what's
going on
Thank you.