Transcription: Web Axe Episode 85 (Drupal 7 Accessibility)

[Introduction, woman's voice over music] Welcome to Web Axe, practical web accessibility tips. Web Axe dot blogspot dot com. Web Axe. Web site accessibility. Web standards. Web Axe dot blogspot dot com.

Dennis Lembree: Hello and welcome to Web Axe Podcast #85. This is your host Dennis.

Ross Johnson: This is Ross. Brought to you via iPad.

Dennis: Hello Ross. Glad to have you on again.

Ross: Yeah. The wonders of Skype application for the iPad.

Dennis: Yeah. That's pretty cool. Sorry to hear about your MacBook Pro.

Ross: Yeah. It's no turning on for some reason. So, if there are any Apple employees who know what the cause might be, please contact me.

Dennis: [laughs] Well, good luck.

Ross: Of course, but by the time this is published, I will have it sorted out. So...

Dennis: Yeah. Well, that's cool you can do it through the iPad. That's pretty neat.

Ross: Yeah, yeah. Actually, you know, it is interesting, I saw on the news this morning that I guess they're selling more iPads than Mac Apps now, Apple's.

Dennis: Really?

Ross: Yeah. I mean, it is a lot cheaper, something that is a part of it. But, you know, it's a kind of easy replacement.

Dennis: That's pretty cool.

Ross: Yeah, yeah.

Dennis: So, also by the time this podcast comes out, the finalist for the DotNet magazine's Best of the Web Awards will be announced. So, we have two projects on there, Ross. Web Axe was on the nomination list for "Best Podcast"...

Ross: This is great. This is, what, three years in a row now?

Dennis: Yeah, yeah. So, hopefully we make the finals this year. We'll see.

And then, "Accessible Twitter", made best "Best API Use" nomination. So, I think they got a fair amount of votes and we'll see if they make the finals or not.

Ross: Yeah.

Dennis: We'll find out very shortly.

Ross: Well, fingers crossed.

Dennis: Let's see. Here, let me refresh the page and see if it is on it. [laughs]

Ross: [laughs]

Dennis: Nope. Not yet. It is coming out literally like tomorrow, which is right now, in Europe.

Ross: Great. Could be any moment.

Dennis: Anyways, the agony is killing me.

Ross: [laughs]

Dennis: In the meantime folks, you can nominate "Accessible Twitter" in the Mashable Awards. That's kind of more like a vote thing. You can vote once a day per category, so I invite you to vote for, nominate "Accessible Twitter" and support web accessibility for the "Best API Use" category. If you are not sure how to do it or what to type or where to go, I'd just go to There is a link right on the home page.

Ross: Yeah, and make sure to vote everyday, because you can.

Dennis: Oh, of course. [laughs]

Ross: [laughs] It will be a great way to spread the word of accessibility. Mashable has a huge audience, so I bet a lot of them could be educated on the importance of accessibility.

Dennis: Totally, totally. All right, just a couple of quick announcements about conferences.

Next month, in mid November, again is the Accessing Higher Grounds conference outside Denver, Colorado. I think it is in between Boulder and Denver. I am not going this year, but it's going to be another good conference. I kind of wish I was going. I love that area.

Ross: Yes, it is beautiful, especially this time of the year.

Dennis: Yeah, it is pretty cool. Last time I went it snowed one day when I was there. [laughs]

Ross: [laughs]

Dennis: It is pretty fun. Well, you know, November in Colorado...who knows what the weather can be like.

Ross: Sure, sure. So you've forgotten all about snow already? You haven't been gone from Michigan that long.

Dennis: Yeah, I can't remember the last time I saw snow. The last time I saw snow was probably in Tahoe.

Ross: OK.

Dennis: Yeah. That's going to be a good conference, so check it out if you can. Maybe I'll see you there next year.

Then in January, I think it's the second week in January- the 10th or something, is the Knowbility's AccessU West conference and that is going to be at...I believe it said San Jose State University in San Jose, California which is literally right across the street from my house.

Ross: [surprised] Oh.

Dennis: Not the college, but San Jose, the city border.


Dennis: And that's a good conference about accessibility and web accessibility. It is a three day conference and there is a keynote speaker on each day and I was invited to be the keynote speaker on one of the days.

Ross: On which day?

Dennis: I am not sure which day.

Ross: OK.

Dennis: I think it might be the first day actually.

Ross: OK, so you're kind of pumping everybody up for the next two days, huh?

Dennis: [laughs] I think so, if I remember correctly. Don't quote me on that, but... Anyway, so yeah, I am really excited. It is my first keynote speech, so it should be a good time.

Ross: Definitely, definitely. Well, if it is the first you'll have to come up with some good jokes to kind of warm up the crowd.

Dennis: Yeah, I don't know, I don't know.

Ross: [laughs] Some good accessibility jokes. I'm sure there is tons of them.

Dennis: [laughs] Oh, gosh. I don't know how to find line to walk.

Ross: [laughs] Probably. [laughs]

Dennis: Yeah. But I'm sure I will tell a few anecdotes about doing this podcast. And all the experiences of this podcast over the years, and an "Accessible Twitter" stuff, so it should be interesting.

[sound interlude]

Dennis: OK, let's move on. A few current events, a few big ones happening recently.

One of them I wanted to mention is JetBlue airlines, has been sued for its lack of accessibility in its website and kiosks. I believe it was in a U.S. Federal Court from within California and our dear friend Lainey Feingold from LFLegal, whose website we analyzed as a success story for accessibility a while back, she is the one who filed the lawsuit. So, that's a pretty interesting story and I'll be sure to keep following that.

Ross: Definitely, definitely. Well, that's one of those things where you wish there didn't have to be lawsuits.

Dennis: Yeah.

Ross: Companies do this, but it's almost good in some ways because it kind of points out that it is important and that you cannot just ignore it.

Dennis: Exactly, and by the way, on Twitter you could follow that firm @LFLegal - it's the Twitter handle. Lainey Feingold. And we'll of course link to them, the announcement on the website from the snow notes.

So, the second item I just wanted to give a shout out to jQuery and jQuery Mobile is a new tool that they had just recently come out with. The components for creating mobile websites and mobile apps are ARIA accessible. They have implemented ARIA throughout the components. So, bravo to them!

Ross: Yeah, I think it is great that they're putting so much attention into accessibility, because jQuery is one of those things where it is so easy to use it in a bad way that the fact that they're kind of building an accessible pieces to it...

Dennis: Yeah.

Ross: ... really kind of sets a good press set to it. Kind of, "OK, we're building this in such a way that we care about it, so you should care about it too."

Dennis: Yeah, it's a good point. And one thing I've always liked about jQuery is how un-intrusive it is. That in itself is a great basis to start with and to just help reinforce the idea of enhancing the idea.

Ross: Right, exactly.

Dennis: So props to them. There is even a much bigger announcement and that is the Twenty-First Century Communications and Video Accessibility Act of 2010 has been signed by President Obama. That was a couple of weeks ago, if that. Yeah, so that's huge. That just kind of enforces the point that you were just talking about [laughs] about law and just enforcing the idea of accessibility and how far the country and the whole industry has come in the last several years.

Ross: Oh, yeah, yeah. I mean this is kind of great, because at least to me it seems that there is so much attention around it. When Target was being sued, it was this big deal, and there was kind of a lot going on. There was a lot of talk about the Act, with coming out. In between the lawsuit being settled and now, it almost got a little quiet. I think people may be stopped thinking about it as much as they should.

Dennis: Yeah.

Ross: The presence, kind of really taking a look at it and signing bills based on it. It kind of brings attention to it again.

Dennis: That's one thing I like about Obama, he is into the technology, which is essential nowadays.

Ross: Right.

Dennis: So, I guess, from what I understand the act covers mobile technologies. I'm pretty sure, video news on the web and stuff has to be captioned and things like that.

Ross: Right, right, which is great because this sort of technology has become a part of everybody's daily life regardless of needs, so if you have inaccessibility concern, you shouldn't be forced to live differently from other people.

Dennis: Yeah.

Ross: Especially when small things like captioning can make a huge difference.

Dennis: For sure. And the article probably linked in show notes is a great summary from Andrew Kirkpatrick of Adobe who was actually there I believe when Obama signed the act.

Speaking of Andrew Kirkpatrick, [laughs] the next item I just wanted to mention briefly is that techniques for meeting VKEK2 with Flash have been updated in the VKEK gene techniques web page. There is an article there by Andrew Kirkpatrick linking from there over to the VKEK gene techniques and just kind of outlining all the different methods to make Flash accessible. So that's gained a lot of ground in itself.

Ross: Yeah, which is great; although, I guess we'll see if Flash is still around...

Dennis: [laughs]

Ross: a couple of years with those whole Adobe versus Macromed..., yeah, Adobe versus Apple thing.

Dennis: Oh god, that whole thing.

Ross: Right. [laughs]

Dennis: Steve Jobs, man, he is making himself look like an ass lately.

Ross: Yeah. [laughs] But Apple is doing better than they ever have; this is their best quarter ever.

Dennis: Yeah...

Ross: I guess if you have cool stuff, maybe you can do that, I don't know.

Dennis: I guess if you're smart and rich and famous and one you're leading one of the best companies in the world, you can be...


Ross: You can kind of be an ass.

Dennis: You can be an ass.

Ross: [laughs]

Dennis: He doesn't care. Yeah, we'll see what happens, pretty interesting.

Ross: Right, right. But yeah, in the meantime, Flash is definitely still used, so it should be accessible.

Dennis: Yeah, it will be a long time I think until HTML5 really takes a big chunk out of...

Ross: Right.

Dennis: ...Flash's usage. Slowly but surely, I think it will take a fairly big chunk but we will see what I think might happen.

Ross: Yup, yup.

Dennis: Speaking of HTML5, there are actually some really big accessibility issues as it turns out.

Ross: Yeah, the canvas element.

Dennis: Yup. And of course things like some foreign controls and some audio and video controls. I mean, even if they are implemented in browsers now, there are still accessibility issues. You have to be aware if you're implementing some of these and Steve Faulkner of "The Paciello group" and Hans Hillen have published a slide share presentation.

There is a web page, by Steve Faulkner that really gives a great explanation. It details out all of the HTML5, the code and what it does and then how the resolution can be to solve the accessibility issue. Definitely, that's a definite must read, especially obviously if you're using HTML5, so check that out.

Ross: And even if you're not now, it's good to start learning before you do your first HTML5 project.

Dennis: Yeah.

Ross: It really makes you think about accessibility.

Dennis: Yeah, it helps. You just come from different angles in understanding these things.

Ross: Right.


Dennis: So, I think we are done with all of the conference and chatter and article discussion. We will move to our main segment where I spoke with Everett Zufelt about Drupal seven and accessibility. As you may or may not know, there is a big new release of Drupal coming. Its...the beta just released Drupal 7, and there are a lot of improvements, especially a lot of big web accessibility improvements, so props to them as well for doing all that hard work.

And in the last podcast, in the five-year anniversary, Mike Gilbert was on and spoke about some of that you. Everett covers the accessibility stuff we discussed in a little bit more detail and some more of the background and everything. You can check it out. Here it is.

I have Everett Zufelt on the line, hello Everett.

Everett: Hey there Dennis, thanks for having me.

Dennis: Thanks for joining me. We're having a slight technical issue but we will see if we can work through it. Everett is a Drupal and accessibility specialist I guess you could say and that's what we are going to be talking about today. Can you give yourself a little introduction?

Everett: Yeah. I've been working in the accessibility field for a few years now. I've been working with Drupal for about two years. I'm currently a Drupal seven core accessibility maintainer. What that really means is that I monitor the issue queue, the bugs and the feature requests filed against Drupal. Anything that has to do with accessibility, I try my best to direct the conversation and direct the...yeah, direct the resolution towards what's going to be the best solution for accessibility.

Within the Drupal community, we do our best to try and make sure all of our user interfaces are compliant with the web content accessibility guidelines 2.0. We aim for level AA compliance. We don't always hit it. There are definitely areas that we know of that we need to make improvement still, but for the most part I think everything where improvements need to be made, we know where the problems are. That being said, you know, if listeners see problems, we definitely want them to let us now about them. Because we don't want to just have a little page on the site that says, "Accessibility" and, "Here's what we're doing, " and, "We're so great." We actually want to make our product work really well for all users out there.

Dennis: Great. And we'll talk about that more in a minute, but before we get too far ahead of ourselves, can you explain to those out there, including myself, really, what Drupal is. [laughs]

Everett: OK, well, Drupal is a web content management system. It's also been described as a platform. I guess there's a few things about Drupal, number one is it is highly extensible with modules. There's more than 5000 different modules available to extend the core behavior and functionality of Drupal right now. So everything from a blog site that you might choose to build with WordPress, and you might choose to build it with Drupal. Drupal can be used to build a site like that.

Other websites like, their website is built on Drupal. I believe the New York State Senate website is built on Drupal. The Emmy Awards site is built on Drupal. Pretty much anything that you want to be able to make a site do, you can do with Drupal by using the core Drupal project, contributed modules to extend to functionality, and if you happen to find something where you're thinking to yourself, "Wow, I really wish my site could do this, and I can't find a module for it", you can write your own modules using a rather rich API system that's quite well documented within Drupal.

Dennis: So, it's open source, correct?

Everett: Yeah, absolutely it's open source, so it's free for anybody to download, to use, to modify however they like. They can write modules and contribute those modules back to the community for everybody else to use.

Dennis: What kind of language does it use, or technologies.

Everett: The server side part of Drupal is all written in PHP. The mark up language is XHTML1.0. There is some JavaScript involved. Now, to the best of my knowledge, there's nothing inside of the core Drupal project that requires a user to have JavaScript. None of the functionality requires JavaScript. Some things are enhanced by JavaScript, and that's exactly the way it should be. There's nothing in Drupal that you can't do if you have JavaScript disable in your browser.

And then with Drupal 7.0, which is the version soon to be released, Drupal supports a number of different database backends, and that's been made a little easier with Drupal 7.0 where they've implemented and extracted Database Layer, which means, essentially, you can write one database query, and it will work with any of the different database backends that Drupal supports.

Dennis: Oh, that's awesome.

Everett: Yeah. Do you want to use MySQL, or if you want to use something like CouchDB, you don't have to know the specific little tweaks to make to your SQL statement to make it work right.

Dennis: That's great. And that kind of lead in to my next question. Drupal 7.0 is a big release that's coming out, but there's a beta out now, correct?

Everett: Yeah, that's correct. So Drupal 7.0 has been in the works for over two years now. It's been a long process. I think I've only really been involved in core development for about the last year and a half of that. It's really nice to see a beta release. The big milestone with the beta release was, up until the beta, there was no guarantee, and there really still isn't a guarantee of an upgrade path if you had installed Drupal 7.0 Alpha 3, there was no guarantee that you'd ever be able to upgrade that to Drupal 7.0 Full Release.

The hope with the beta is that there will be an upgrade path. If you installed Drupal 7.0 Beta 1, you should be able to follow an upgrade path to get yourself to the Drupal 7.0 full release once it's released.

Dennis: Do you want to give a couple people a plug? Who else is on the team? Who else did you work with?

Everett: Oh yes, definitely, the accessibility team. When we first started, and I'll say, I started probably back in June of last year working on Drupal accessibility. At that time I was working for OpenConcept Consulting, which is a Drupal firm in Ottawa. And the fellow that runs open source, his name is Mike Gifford, he's been contributing to Drupal accessibility far longer than I have.

The contributions to accessibility, or I guess the workflow of trying to get Drupal to be more accessible really coalesced when Mike brought me into the firm. And my sole job at the firm was to work on Drupal 7.0 core accessibility. I didn't work on client projects, I only worked on improving the accessibility of Drupal core. So Mike Gifford is definitely someone who's been involved a long time in trying to make Drupal more accessible.

Brandon Bowersox, who is the other Drupal 7.0 accessibility co-maintainer. He has done a lot of work. Really, the list is too numerous. There's those of us who know how to develop and who understand accessibility. And then there's lot's of people that are starting to learn accessibility, who learn a lot about accessibility during the Drupal 7.0 development process who, if we come in and say, "OK, here's something that needs to be changed, here's what the problem is, here's why it needs to be changed and how it needs to be changed."

There's too many people to mention, Drupal core developers, who will actually go in and do the development work, write the patches and make the improvements to the system. And all along that process, they themselves are learning more and more about accessibility.

Dennis: So, I want to discuss some of the current accessibility issues. But first, let's talk about some of the fixes you did a year or more ago. What kind of accessibility improvements have been made?

Everett: OK, well there's a lot of improvements that have been made. I would have no idea how long ago they were because it all just blurs together [laughs] .

Dennis: What I meant was in the beginning, did you do a lot of the quick fixes?

Everett: Exactly. The method that I used to triage, and different people use different methods, when I noticed accessibility issues, number one: How severe is the problem? Is this actually going to break functionality for any set of users, or is it just going to make things harder to do? The second method I used to triage is, and I'm not really comfortable with this, but if you have limited resources, you have to triage issues, so the second is: How many users are affected by the problem?

And then obviously, there's really easy things to fix that we might just as well fix when we notice them. It takes one or two line of code that need to be modified. So some of the easy things that we fixed is that Drupal 7.0 makes far better use of structured markup now, headings. Some of those headings are invisible if you're looking at the screen, but they are in the markup to the access device system technology. We'll talk about how we do that a little later on.

Drupal 7.0 has far better color contrast in the core themes now. And most of the text within core themes is easily resizable using either Browser Zoom or Text Resize without breaking the functionality of the site. Now, there might still be a couple things here and there that we're trying to tweak. As I'm sure you know, getting a complex user interface component that has text inside of it to resize properly in all browsers without being ugly is not a trivial task at all. And so there's a couple of areas where we're still trying to tweak the CSS to make things work just right.

Dennis: Right.

Everett: One of the things that we tackled early on was that in Drupal language, they're called local tasks-- where most people would see them are tabs. So, anybody that has been ever been logged into Drupal site will notice that if you want to page of content normally, write the title for that piece of that content, are number of tabs that you want to might say view, edit, track changes.

There might be a few different tabs associated with that piece of content. In Drupal 6, the way those tabs are rendered in markup is simply just an unordered list of links. The only way that the information about these being tabs a list of links of which one and only one is currently active is to color in style alone. Is that a huge problem? Well, probably not anywhere in Drupal core where the tabs are implemented by default.

But it's very possible that when somebody built a module or implements Drupal for their site. That could become more severe issue where it's actually more important for somebody, perhaps screen reader user, who doesn't have access to that style information of that links. It's more important for them to be able to understand which one of these tabs is currently selected.

And so in Drupal 7, what we have done is we have gone and we have added some information for starters we added a heading. That once again, it's invisible before the list of tabs that just simply says I know every tabs. Then if there is a subset of tabs, there is a heading that says secondary tabs and along with that we have identified with a little bit of invisible texts within the link, which one of the tabs is recurring the selected tab.

So once again taking that information that in Drupal 6, it's only available visually if your style and it's actually putting into the markup so that it's available to system technology users.

Dennis: Excellent. So, I'm assuming things like forum element labels and data tables and that stuff was that already built-in excessive ability or is that has been fixed in this release?

Everett: I mean, it's already built-in now. If you're making...if you're just trying to format some information in a table we have a table element you can use to do that. When the table element that you can use as a developer to format some content into a table, it's reasonably accessible. It wasn't Drupal 6. It's in Drupal 7. With forum element labels, it was accessible in Drupal 7, but it was a pretty pretty inflexible systems.

So, all of the labels were, I guess, hard coded relaxable better term in that any forum field with the exception of checkbox and radial fields would automatically have, here the title that the developer sets for the field marked up as the label for that field not labeled would be displayed prior to the forum field.

And for checkbox and radial element types, that label would be displayed after the forum field and you really had no flexibility at all. You couldn't say I want the label to go before the checkbox. You couldn't say I want the label to go after the text field and there was...nobody know easy way that could be done but there is really no easy way to say, here is the title for my forum element. I don't want a label. I want it to appear as the title attribute for the forum input field.

And so in Drupal 7, we have gone a long way in making that more accessible when developers dealt a forum now. When they're built-in, when they're instantiating, when they're building each of the elements within their forum, they now have the ability to set a title. But I can also set up a property called title underlying display and that title display property will take one of the number of values.

You can either tell Drupal surrender a label that appears before the forum field. You can tell it to appear it or render a label that appears after the forum field. For checkbox and radial elements, you can tell Drupal to surrender the title as the title attribute of the forum field and for any element. You can tell Drupal to render the label, but to make it invisible using a special element in visible class that's available by default in Drupal seven.

And that class has been tested in all virtually all browsers and with virtually all screen readers to ensure that it does a perfect job of number one hiding or making invisible the content. While at the same time, keeping it available for system technology or primarily for screen reader users.

And very recently, we actually added a second class to the system style sheet which is element in visible, element focusable and that's to be used for elements that can receive keyboard focus. So, you can imagine being a keyboard only user, tabbing through a website and all of a sudden the focus disappears actually only keyboard users don't need to imagine that because it happens all the time.


Everett: And the focus just disappears. It goes away. How do you get the tab key few more times just to search around the page you find it to get in? And so, we don't want people to use the element invisible class to highlight the content that is focusable. We want them to use the element invisible element focusable class and what that class does the exact same thing as element invisible, except when the element receives focus, tt shows up on the screen and then we tab away from it disappears again and I believe that's what we're using for these script content links in all of the code themes in Drupal.

Dennis: Right, right. That's great. What about...when you talked about the tabs one word came to mind ARIA. Has there been ARIA improvements yet?

Everett: There have been a few. So, there are a couple of things of the ARIA. The first one is important ARIA topical question and it's do we put ARIA into Drupal core. The benefit being we get all the benefits that come along with ARIA. And there are some though recognizing that not all system technology users have access to those benefits if you're using technology that doesn't recognize ARIA. So, we get all the benefits.

The down side is that if we add ARIA to the markup anybody who is thinking about implementing Drupal or essentially thinking about using our product, I mean, it's free. It's open source but it's still a product and we think it's an excellent product and want people to adopt it. Some people will have a problem with the fact that pagers don't validate because using ARIA inner page if you're validating it against XHTML your page is not going to validate and there is a trade of there.

Other fewer extra areas that I would like to see ARIA used probably really when we're talking about the tabs themselves, we have still to do exactly what we already did to make those tabs accessible to users that don't have ARIA compatible browsers and the system technology. And then, we would also have to add ARIA on top of it and really looking at that solution I don't see a benefit to using ARIA for those tabs if it really means we have to implement two different ways of making the tabs accessible.

And now, people with ARIA compatibly user agents get more information than they need of the tabs because they got those stuff that we put into the markup plus the stuff that we put in with ARIA. And so, I don't only see adding that much of an advantage and at the same time it's going to be slight disadvantage to some users and it's going to make the pages not validate properly.

So, there are areas where we could put possibly use ARIA but we have chosen not to for those different reasons. There is already ARIA, a few different areas where we use ARIA. Primarily, we use ARIA for live regions. If you ever install Drupal, it's really simple installation process and there is one stream that basically has a progress bar and it shows you the percentage complete of the installation process and tells you the module name that's the core module name, that's currently being installed.

That all kind of gets dynamically updated with JavaScript or an installation process. So, we have an aerial live region on that piece of content, so that if you're sitting there with a screen reader you're not questioning what's going on, ...

Dennis: Right.

Everett: ...your screen reader is telling you, 57% node module, 17 of 28 or 85%, four module 27 of 28, and so you actually get a live update of the installation process as it goes along. We've also added a live region to the little piece of content that shows you how strong your password is when you're entering a new password.

Dennis: Oh right.

Everett: So, as you're typing in your password it'll say weak, medium, strong, it'll let you know how strong to Drupal your password is that you're entering. I'm hoping that we can use more password in Drupal 8. As we start to look at Drupal eight and the changes we want to make in Drupal eight to make it even more accessible, there are a few places that we can use ARIA.

The one is that going back to forum fields, in Drupal, generally speaking a forum element has a title, which is often or by default is a label element. It has the actual core element itself, so a checkbox or an input field or a text input field. And then it has a distraction, which is just a piece of content that comes after the forum element to explain in a little bit more detail than the title does what you're supposed to type in there.

And so, one of the issues that I've already opened and tagged for Drupal eight is that we should be using the ARIA described by attribute on forum elements to point to that piece of description content. I think that's something that's easy to put in. Now once again when it comes time to look at it, we're going to have to question as a community if the benefits received by doing that are worth the drawbacks of invalidating the page.

We could try to solve that by doing those changes with JavaScript so that it doesn't invalidate the actual markup of the page. That to me would seem like a little bit too much overhead for the benefits that we'd get for using ARIA described by.

Dennis: Yeah.

Everett: But there might be other areas that we would like to implement some ARIA to make that more accessible, where the overhead would be worthwhile for using ARIA, if we continue to decide that we don't want to invalidate the DOM. Of course, the one hopeful thing is that partway through the Drupal eight developmental life cycle, ARIA will become an actual W3C recommendation instead of a draft recommendation. And for Drupal 8, we can perhaps say that our markup is XHTML plus ARIA.

Dennis: Yeah.

Everett: And that way we can have it validate against both languages instead of just one.

Dennis: What improvements are you currently working on, or what are some of the bigger tougher things that you're working on now or that would be done in the future?

Everett: Well, there are a couple of things.

Number one is, there is a number of forum fields within Drupal that we know don't have labels properly right now, or they don't have titles properly right now. There is a huge mega patch being worked on by some really devoted developers to try to get those solved.

At one point, there was something like, I don't know, a hundred and fifty errors and two thousand exceptions being generated by that patch, and I think we have it down to thirty three exceptions being generated by the patch now, so just to give a little background on that.

Drupal seven has an automated testing framework. So, if you write a patch for Drupal and upload it to the Drupal issue tracker website that patch automatically gets installed to a copy of Drupal often Internet land. Something like twenty-six thousand tests get run on that installation to make sure that your patch didn't break anything.

And so we're down to thirty-three exceptions, so we're really close to getting that fixed. A really smart developer who is helping us with that issue actually added a test to the patch that identifies every single forum element in Drupal Core that doesn't have a title set. And so that's why we got so much of a huge number of problems when we did the original tests, but now we actually have a place that we can look in one place for every single forum element that doesn't have a title set properly and can go back and fix all those places.

So once that patch is committed, there will be no forum element in Drupal Core that doesn't have a proper accessible title set, whether it's through the label or through the title attribute. That's one that we're coming really close to finish. And I hope to see it get committed before the full release of Drupal 7. If it doesn't, it'll get committed through 7.1 or 7.2.

Another thing that we have in Drupal seven that's new is something called the overlay module. The overlay is kind of interesting. It's if you're on a content on your Drupal site and you click...obviously, if you're logged in and someone with administrative rights, if you click on the administrative link what would happen in Drupal six is it would take you to the administrative page and maybe you would click on a few more things, and now you're six clicks away from that original piece of content you were on. You either have to hit the back button a bunch of times to find it, or you maybe just go find it again through the menu system.

In Drupal 7, administrative pages load in, what I'm going to call, a mobile dialogue as a floating window over that original content. You can go through, make all of your clicks, make all of your changes, click the "close" button on the administrative dialogue once you're done, and you'll find you're back on that original page of content that you started on. So that's a really nice feature for people to find that useful. Some people find that really useful, some people don't find it as useful, that's great, it's there. It can be turned off or turned off if you don't like it.

As you probably know mobile dialogues are not really the easiest thing to get to work well for screen reader users. I wrote an article about this back in March. So, we've worked really hard. We've tried absolutely everything that we can do to make the overlay work well for screen reader users. So my criteria for this was, not that it works, but that it works well. If we're going to have it there and have it forced upon screen reader users, it needs to actually improve the experience and not take away from the experience. We tried everything, everything you could imagine.

Dennis: [laughs]

Everett: I mean, there are three or four hundred different comments on a variety of issues talking about how are we going to make overlay work properly? At the end of the day, we made the decision as a community that overlay is not going to work...there is nothing that we can do to overlay to make it work well for all screen reader users. It's always going to work poorly for some. Now it might work well for some, but there are always going to be some screen reader users for whom it works poorly.

And so, the first thing we did is on your user profile page, on your account page if you're logged into Drupal, you can click on the "Edit" tab, and there is a little checkmark box. You can just take the tick out of the box and click save, and you'll never see overlay ever again. Any user can do that, not just screen reader users, but any user can uncheck the tick and overlay is not enabled for their account. That doesn't break any functionality on the site. It just means administrative pages will work like they worked in Drupal six instead of being loaded like they were in Drupal 7.

And then the second thing that we're doing is, because overlay is enabled by default, we're going to put it in any page that's loaded in the overlay, we're going to have some links available. And the one link says, "Click here to go to your administrative page and disable the overlay." The other link says, "Dismiss this message. Never show it to me again."

That way users don't have to see this message every single time they use the overlay, if it's actually working well for them, but for those users who it is not working well for, there is going to be a really clear and simple path to get to that check mark box to disable the overlay. And that is absolutely going to be, that functionality is actually going to be in the Drupal 7.0 release when it is finally released.

I guess the last lots of things that still need tidying up and fixing. The last kind of black hole of accessibility in Drupal is our auto complete functionality. So auto complete gives a little text field to type in, drop down box comes, you select the item.

In Drupal we use auto complete in a number of places. The place that it is used most frequently use if you, maybe you have written a blog article and you are adding tags to it and you type in "Drupal, accessibility, web acts".

Dennis: [laughs]

Everett: you tag it with those three different tags...

Dennis: .

Everett: ....on the content. And for each one of those tags, Drupal will bring up an auto complete list to allow you to choose the tag from a list. So it's not an auto complete for the whole text field but it's an auto complete for each tag.

Dennis: Oh.

Everett: Which is really nice and really convenient actually. It currently works for, I believe, keyboard online users. I was even testing it a few weeks ago with a user of Dragon Naturally Speaking. They were able to use our auto complete functionality with no problem at all.

Dennis: Wow.

Everett: Yeah, I was actually really surprised and happy to see that. It doesn't walk at all for screen reader users at the moment. Now, this hasn't been marked as a critical accessibility problem because in Drupal four there is no where that it's critical for you to be able to use auto complete like that. Even though the functionality is critically broken for screen reader users the functionality is not necessary to make your Drupal website work properly. Nevertheless, it is something that's on my list of things that we absolutely need to get fixed.

Dennis: .

Everett: It's not an easy thing to do. It's not as easy as "Oh, that should be a heading level two and not a heading level one", or "you know this image doesn't have an alt attribute".

Dennis: [laughs]

Everett: This is actually going to be a sit down with a group of people, work through the design, work through what the expected user experience should be, build a mock-up, have it tested with some different users, browsers, different screen readers, and see if we can get something really nice implemented instead of just trying to hack on "oh let's throw an ARIA attribute here and there and see what happens". I'd really like to do a full design process on this component to make sure it works as well as it can possibly work for the most number of users possible.

Dennis: So if someone wanted to learn more or help out in this project, what would they need to do? There is obviously a website. Does anyone have access to that bug log?

Everett: Yeah. So is the main website. From there you can get all sorts of information about Drupal, the hand book, list of modules, list of themes that are available. On is our issue tracker. Anybody, you don't have to have a user account, anybody in the world can just go to the Drupal website, search for issues, and I'll give you the URL for the accessibility list of issues to put in the show notes. Anybody at all can go and look at the issues. If you want to comment on the issues, you can sign up for a user account on It's relatively easy, painless, and to the best of my knowledge doesn't requiring solving a captcha.

Dennis: [laughs]

Everett: But if I'm wrong about it and if any listeners run across a captcha and are required to solve the captcha to get into and sign up for a user account they can email me directly. I will make sure that they get a user account all set up on

Then you can get the issues there. There's another site, part of the Drupal ecosystem of websites called If you go to groups., that's where a lot of accessibility discussions happen about the Drupal product, about modules. Sometimes people will say, "hey, here's a module. What do you guys think about it. Is it accessible? Is it not?". So that's another really valuable place for information.

I have some articles that were added to my website recently which is And, once again, if anybody who is trying to interact with the Drupal community for some reason can't, there's a captcha or "I'm not sure where to find whatever it is I'm looking for so that I can contribute and get involved", feel free to contact me directly and I'll get you connected with the information and the resources you need to get started.

Dennis: That's awesome. And on Twitter, of course, there is your account. It's ezufelt.

Everett: That's correct. There's also a Drupal account.

Dennis: OK. And then...

Everett: And there's also Dries Buytaert who is the Drupal founder and the project lead for Drupal. His account is just Dries.

Dennis: Oh. OK. Well, there's Michael Gifford of course. MGifford.

Everett: That's correct. And so many others that we just couldn't list them all. Those would probably be the primary ones to follow on Twitter. People are interested in what's going on in the Drupal community.

Dennis: Great.

Everett: And of course all around there are Drupal camps that are going on in different parts of the world. I was just presenting at the Drupal camp in Toronto this weekend. There are two annual Drupal conferences, one generally hosted in North America. The next one is, I believe, in March in Chicago. One is generally hosted in Europe. There are all sorts of different ways for people to get involved in the community.

Dennis: Great, great. Well thanks so much for joining me today, Everett. That was a lot of great information. It is a great project and many, many accessibility improvements to come in Drupal 7. Thanks again.

Everett: Oh, you're very welcome. Thank you.

Dennis: OK. So that was myself and Everett Zufelt speaking on Drupal seven and accessibility.

Ross: Yeah, really interesting stuff. Drupal is getting more and more popular.

Dennis: Yeah, it is.

Ross: Very topical.

Dennis: Yeah, it is getting much more popular actually. It's pretty powerful from what I hear. I haven't used it myself, but, yeah, it is getting more popular and now fortunately it is more web accessible. Again, props to them for all that hard work, and more to come.

Ross: Right, right. It's really great that they're putting effort towards it, especially considering there are quite a few high profile government websites running on it. The White House, for example.

Dennis: Yeah.

Ross: And the recovery site, the that we looked at. Both are on Drupal.

Dennis: Yeah. I saw somebody Tweeted "How are those sites section 508 compliant if they are running on Drupal and Drupal is not web accessible?"

Ross: [laughs] That's a good question.

Dennis: Anyways. OK, Ross, that was another fun episode. It was good talking to you again.

Ross: You too, and thanks to everybody for listening. And don't forget to vote for accessible twitter on the Mashable awards.

Dennis: For sure.

Ross: Everyday.

Dennis: Everyday. [laughs] I am going to go see if those results are posted now.

Ross: [laughs]

Dennis: From the...

Ross: Let me know what you find.

Dennis: From the .net awards. Alright, take it easy.

[exit music]


© Copyright 2005-2012 Web Axe, Dennis Lembree, Web Overhauls