From Inside Higher Ed:

Both MIT and Harvard have argued in court filings that they should not be required to provide closed captions for every video they create or host on their websites. After the institutions’ first attempt to dismiss the cases was denied, there was a yearlong attempt to reach a settlement out of court. When that attempt failed, the universities again moved to dismiss the cases.
Judge Katherine A. Robertson of the U.S. District Court of Massachusetts largely rejected the universities’ second attempt to dismiss the cases. On March 28, Robertson denied the institutions’ pleas for the exclusion of their websites from Title III of the Americans With Disabilities Act and Section 504 of the Rehabilitation Act. Title III of the ADA prohibits disability discrimination by “places of public accommodation.” Section 504 of the Rehabilitation Act prohibits discrimination on the basis of disability in programs that receive federal funding.

My eyes are stuck in the rolled position, and this time I think it’s permanent. I may be missing something, but the only exception for captions in WCAG SC 1.2.2 or its “Understanding” documentation is for content which is a transcript of the video or audio. I’m not deaf, and I’m getting tired of the excuses for lack of captions or transcriptions. How many times does some variation of “it’s not popular enough” or “I can’t afford it” or “it’s too hard” have to be tossed out? People and organizations will spend hundreds or even thousands of dollars on audio or video equipment, only to then not caption or transcribe the content they create. And Harvard and MIT both are schools which could afford to transcribe their content, so hearing from them that they care about accessibility as long as it means they don’t have to caption all of their content is especially galling. I suppose if we’re talking about a podcast that’s just starting out, or a one-man shop, I could see why you might not come out of the gate with captions/transcripts. But even that only works to a point. If you’re pouring hundreds of dollars into a good headset or other higher-end audio equipment, then at some point you should be making arrangements for captions or transcriptions. It goes without saying that Harvard and MIT aren’t in the one-man-shop category.

Yesteray I opined on the latest Jetpack release, calling its search suggestion feature way over the line. I had a subsequent Twitter conversation with several people in the WordPress community, in which the stated intention behind the feature by one of the main developers was to solve the pretty significant problem of users installing multiple plugins which perform the same task. I know the developer and I have no doubt that that particular developer’s intentions are good and even admirable, so before I go any further with this, I want to state that it is not intended on my part to be a personal attack on any of the humans involved. I’m specifically keeping names out of this because I do not want anyone to be personally attacked as a result of this. With all of that said, I just test-drove the feature, and if that suggestion isn’t an ad, I really don’t know what is, and I suspect that anyone else who comes scross this, (especially screen reader users), are going to perceive this as an ad, even if it really isn’t intended to be one.

Steps To Reproduce

You must be running the latest version of Jetpack. If it’s not showing up in your updates, it will soon if you have it installed. I’ve run the update on my personal site, and got the following results when testing.

I searched for Jetpack’s sharing feature by typing the word “sharing” without quotes into the search box on the plugins/add new page. I specifically have this feature disabled. What came back is the following.

Aftere searching, and the page refreshes, the first thing I find on the page when navigating by headings after searching is “Jetpack: Sharing” at heading level three, just like every other search result on the page. Next, in the list below the heading with a link, (which normally contains a link to install the plugin and a link to learn more about it), I find a button labelled “enable”, followed by the traditional “Learn more” link.

Next, there’s a description of the feature:

Add Twitter, Facebook and Google+ buttons at the bottom of each post, making it easy for visitors to share your content.

The plugin author name follows directly after this, and in this case it’s Automattic.

Next is a graphic without alternative text, which I can only assume is the Jetpack logo or maybe the Automattic logo. No matter what it is though, so far the only thing distinguishing this from a standard search result is the replacement of the “install” link with an “enable” button, and this graphic. Otherwise it looks like a standar search result. Now onto the other very minor differences.

Under the graphic without alternative text, the following text appears:

Jetpack is trusted by millions to help secure and speed up their WordPress site. Make the most of it today.

Marketing copy complete with a call-to-action.

And now, for dismissing the suggestion. There’s some text that says “Hide this suggestion”, and although this appears to not be associated with any discernible element while using a screen reader, if you press enter on it, the suggestion disappears. However, your focus jumps down to the nex item in the list, past the heading to the end of the list with the two links, so you have to press shift-H to navigate back to the heading to find out what you’re even working with.

The focus management and alternative text issues are fixable, as is the semantics of the “Hide this suggestion” thing. However, all of this seems confusing at best, requiring me to pay extra attention to what’s going on on this screen. I spend a fair amount of time in the WordPress administration panel, and I expect that between plugins, themes, admin notifications, and WordPress in general, these screens are going to change. However, needing to pay extra attention to the plugin search screen so I can avoid accidentally enabling a Jetpack feature due to something that is definitely an advertisement dressed up to look like a search result is absolutely not OK. I knew what was coming, and I still needed to focus on what I was doing to a much more greater degree. Anyone who doesn’t realize they have Jetpack installed, (and this happens a lot considering that hosts install it automatically in a lot of cases), is not going to spend the bit of extra time to pay closer attention to what’s going on, and therefore will enable a feature, at which point they then will need to dig through settings to find where it’s buried once they realize they’ve enable something they don’t want, or God help them when there’s a conflict with something on their site, as their was with the Jetpack sharing buttons markup and the Microformats 2 markup on my personal site, which prompted me to disable the sharing buttons in the first place since I prioritize correct markup over whether or not someone can click something to share my post.

All of this looks incredibly shady, even with the consideration of the stated intentions behind it, and I find myself asking: who dictated the design and development requirements of this user experience? It may be designed to be visually separate from the rest of the search, I don’t know. I haven’t gone through the CSS. But it sure as hell isn’t very different markup-wise, and yeah, that makes me kind of angry. I suspect anyone who encounters this without knowing anything about it, or any of the humans involved, is going to be angrier, never mind feeling tricked, and I really think this was completely avoidable.

I use Jetpack on some of my sites, as well as some client sites. It provides a lot of features that site owners will need, without having to install a bunch of plugins, and does so reasonably accessibly. However, the latest release, (7.1), quietly adds Jetpack feature suggestions to the plugin search screen. From The Tavern:

If a user searches for a plugin that has a feature that is already offered by Jetpack, the plugin will insert an artificial (and dismissible) search result into the first plugin card slot, identifying the corresponding Jetpack feature.

This is so far over the line of what’s acceptable and what’s not, it’s not funny. I’d be livid if any other plugin did this, and the fact that Automattic is doing it, combined with its incredibly large amount of influence over the WordPress ecosystem, is enough to make me seriously consider uninstalling Jetpack from every one of my sites. The WordPress dashboard and administration screens are already choked with advertisements and useless nags thanks to other plugins and themes. The fact that Automattic is essentially giving this a blessing is, I suspect, going to make this problem worse than it is. The web is supposed to be independent and decentralized. Automattic is supposed to be helping to ensure that an open, independent web survives, or at least that’s what its CEO appears to be leading us to believe. Driving an ecosystem to use the features of one plugin over everything else is an attempt at centralization, which is obviously in direct opposition to an open, decentralized web. Getting back to the accessibility question, while Jetpack does some of the things it does reasonably accessibly, does this mean that Automattic is going to put some extra muscle behind making sure that every one of its features are accessible? If you’re going to exercise undue influence over plugin search results, effectively cutting off the air supply of anything that may provide a Jetpack feature more accessibly, then you take on the responsibility of ensuring that accessibility is looked after. I think I already know the answer to these questions, but I decided to pose them just in case. You know, in case I happen to be dead wrong in my supposition. At the end of the day though, I’d rather Automattic just not game the plugin search results.

If you work with Windows Server or Microsoft’s Azure platform on even a sporatic basis, (and especially if you work with either on a regular basis), Powershell is the most efficient way to get things done. People with disabilities can now enjoy this level of efficiency on a more equal level with our sighted counterparts, because a href=”https://devblogs.microsoft.com/powershell/the-powershell-gallery-is-now-more-accessible/”>Microsoft has put a lot of work into making its powershell gallery more accessible, including working specifically with blind systems administrators to ensure that the work they’ve done to make the gallery more compatible with screen readers actually benefits real peoplein real work situations. Microsoft has come an incredibly long way in the last eight years with regard to accessibility, and I for one think they deserve a ton of credit not for doing the right thing, but for doing their utmost to go above and beyond standards compliance and making sure people with disabilities can get our jobs done on par with our sighted colleagues.

From The Evening Standard:

Next has become the first major British high street retailer to sell more to its customers online than through its network of more than 500 stores.
The historic crossover came at the start of the new financial year in February, according to chief executive Lord Wolfson, with the gap set to widen rapidly through 2019.
It will send further shockwaves through a battered retail sector already struggling to adapt to the accelerating shift from “bricks and mortar” to digital sales.

Wolfson hails this as a thing worth embracing, saying that people in small provincial towns now have the same buying options as those who shopped on Oxford Street ten years ago. Everybody wins, right? Not exactly.

If you’re a person with a disability, Next has gone to the trouble of building a separate website which supposedly cators to the needs of those who need accessibility. Problem is, separate is not equal, and it never has been.

This is another one of those conversations we shouldn’t be having at this point in the web’s history. For one thing, as already mentioned, separate is not equal, and even law/policy, as incoherent as it is, agrees on this, at least when it comes to certain industries.

For another thing, separate websites for people with disabilities are often not maintained, (looking at you, Amazon), and are a resource vampire for both the establishment for which they’re built as well as any web design or development staff, in or out of house. If anyone seriously suggested thata we build separate websites for phones, tablets, large screens and watches, they’d be laughed out of the room by pretty much anyone who builds or designs things for the web. No one would dream of wastiing time and resources like that. So why is it still all too common to see large organizations building separate websites for people with disabilities?

Web-based discrimination is just as unacceptable as real-world discrimination. It’s not OK to build separate but equal for browsers, and it’s not OK to build separate but equal for people either, and people with disabilities are people first and foremost. Seriously, if you’re a web developer or designer and you’re being asked to build a separate site for accessibility purposes, please push back on this. I’m not going to lie, you may have to walk awa from a contract or to. We, however, are the only ones who can really change this situation. These things wouldn’t be built unless we as an industry weren’t willing to put in the elbow grease to build them. We’re not just pairs of hands, and if we as an industry could manage to move the needle from building one-size-fits-all websites to building websites responsively, then we can move the separate but equal needle too. Let’s do this already.

From Disability Scoop:

The federal government is accusing Facebook of illegally using its advertising platform to discriminate against people with disabilities and other groups.
The U.S. Department of Housing and Urban Development charged the social media company Thursday with violating the Fair Housing Act. The agency said Facebook is “encouraging, enabling and causing housing discrimination” through its method of allowing advertisers to control who sees ads for homes. … According to the charge, Facebook allows advertisers to exclude or include users from seeing ads based on various attributes including interests in “accessibility” or “service animal.”
Furthermore, the charge alleges that Facebook’s system is set up in such a way that it won’t show ads to groups it considers unlikely to engage with them, even if the advertiser has explicitly targeted those groups.
As a result, “ads for housing and housing-related services are shown to large audiences that are severely biased based on characteristics protected by the (Fair Housing) Act,” according to the charge.

At last year’s National Federation of the Blind convention, Facebook stated that

one in ten people use the zoom feature on the desktop browser, 20 percent of people increase the font size on iOS, and over 100,000 use screen readers on mobile devices to view Facebook.

(Source). It didn’t take very long for what amounts to tracking those with disabilities to go from something benign to something used as a tool of discrimination. The fact that the self-styled “voice of the nation’s blind” essentially aided and abetted this isn’t surprising. And yes, the NFB owns part of this. That organization gave Facebook a platform and its blessing to essentially brag about its disability tracking efforts, and were silent when questions were raised concerning how that data was gathered. If I were a member I’d be pretty pissed right now and I’d be demanding answers from the leadership.

From Applevis:

There is, however, one new feature for VoiceOver users: a new option called ‘Accessibility Events’ located at Settings > General > Accessibility > VoiceOver > Web. This option is enabled by default, with Apple saying that Accessibility Events:
… allow websites to customize their behaviour for assistive technologies, like VoiceOver. Enabling Accessibility Events may reveal whether an assistive technology is active on your iPhone.
We’re currently unaware of any websites which take advantage of this facility, so do please let us know in the comments if you know more about this feature and any websites where it can be seen in action.

This is just as bad of an idea as Google’s “ask-for-alt-text” feature. I will definitely be turning this off when I update my devices because sorry fellow developeres, you cannot haz that data. These settings, including the automatic opt-in, also apply to Mac OS Mojave, (OSX 10.14.4). This version of OSX was released on the same day as iOS 12.2. I’ll also be encouraging everyone else, (in the strongest possible terms), to do the same. Seriously, why is it so difficult to just make websites accessible in the first place? Why do we have to keep having this conversation? We’ve seen what happens when data is managed irresponsibly, (and that’s putting it lightly), and as neither a society nor an industry are we even close to equipped to handle something as sensitive as screen reader tetection with any kind of care. What’s Apple going to do, release some ethical guidelines? Even if they did this, how are they supposed to enforce them? And never mind developers screwing this up by using it as it probably wasn’t intended. It happened with HTML, it’ll happen with screen reader detection too.

If, like me, you are concerned about your privacy with regard to your disability, you’ll need to explicitly opt out, on both iOS and OSX. Consult either your device’s documentation, (VoiceOver for iOS or VoiceOver for the Mac), or a suitable book written for assistive technology users by assistive technology users. The one I wholeheartedly recommend is iOS Access for All: Your Comprehensive Guide to Accessibility for iPad, iPhone, and iPod Touch, by Shelly Brisbin.

For as long as anyone in the WordPress community can remember, the minimum allowed version of php on which WordPress will run has been well behind modern php versions, thanks to WordPress’s commitment to backwards compatibility. As of version 5.2, (due out in April) the minimum allowed version will be raised to php version 5.6, from it’s current allowed version of 5.2. Eight-five percent of all sites running WordPress 5.0 are running on php 5.6 or above, and high-profile plugins have been experimenting with user notifications encouraging an upgrade to a modern version of php, with quite a lot of success.

While php 5.6 reached end-of-life as of December 31, 2018, WordPress’s step to make it the minimum allowed version while continuing to encourage usage of php 7.2 and above is an important one. For one thing, it means that securing installations will be just a bit easier, and for another, the minimum allowed version change, coupled with encouragement to use a truly modern version, as well as allowing plugin authors to specify a supported php version, will make life a lot easier for those of us maintaining code.

Most hosts, especially the larger ones, have already either migrated to php 7.2 or above, or are strongly encouraging their users to do so. Note that if you’re running a virtual private server or similar, you will be required to manage the php upgrade yourself. If you happen to be a user or organization running on a virtual private server, and you are not technically proficient enough to manage the upgrade, you’ll want to make arrangements for someone to upgrade for you. I mention this last point because in the laast few weeks I’ve run into a lot of cases where users or organizations have been talked into hosting on a virtual private server or similar which they are unable to manage and which they have no one to manage for them. I’m not sure if this is an actual trend or whether or not I’m just personally/professionally encountering a lot of these. Anyway, think of the web, and upgrade your php installation if you haven’t already.

After a user of the Storefront WordPress theme, (WooCommerce’s default theme), reported accessibility challenges with the theme’s focus outlines and text decoration with regard to links, the Storefront theme has been modified to address the issue with focus outlines by modifying the default outline so that it is darker than it was previously, as well as making the focus outlines solid. The theme will also underline links in the content, the footer, and breadcrumbs.

These changes are slated for the 2.5 release, which does not yet have a date set. However, you’ll want to keep an eye on your WordPress updates so that you can take advantage of these upcoming accessibility improvements. I’m looking at you, assistive technology sho[ps.

The 2nd Annual JavaScript for WordPress conference is scheduled for July 11 through 13 of 2019, and will include 3 FREE Days of workshops, talks and contribution all focused on JavaScript and WordPress. Workshops include learning how to use modern JavaScript development tools to write custom vanilla JavaScript in WordPress themes and plugins, as well as learning how to load and write React in WordPress plugins and themes. There’s a day of free talks separated into two tracks, and conference organizers have opened the speaker submissions. You can apply to speak and register for the conference on the conference page, as well as listen to past sessions. I was not able to attend this last year but will definitely catch up on past videos.

Rian Rietveld @ #WCUS:

Rian is demonstrating Voiceover and ARIA for the WordCamp audience.

She’s giving a very practical example of why semantics matter when it comes to the web.

Aria-live: Tells screen readers what’s changing on a page without refreshing the page.

aria-live allows dynamic changes to be announced by screen readers.

From earlier in the talk: First rule of ARIA: Don’t use ARIA. Use a native HTML 5 element first, then add ARIA *when necessary*.

Make sure when using aria-live that your announcement is not too verbose: For example: announce the number of search results, not every search result.

Overrule a link’s anchor text with aria-label. Beware: aria-label overrules a link’s anchor text completely. For screen reader users it’s as if the link text does not exist.

screen reader text class: Hide something from sighted users while announcing it to screen reader users.

Use screen reader text class with the span element.

Aria-describedby and aria-labeledby: aria-labeledby replaces label text, (see form elements), aria-describedby adds extra information to the label text.

Rian is able to turn VoiceOver on and off. This would never happen using Jaws. You can do it with NVDA though. Sorry, couldn’t resist.

Make it work before you make it nice.

Slides for this talk, code with examples is here, and you can watch “Who’s Afraid of ARIA” with captions here.

Miriam Schwab @ #WCUS:

Why is cryptomining from websites bad? Because it eats resources, plus governments shouldn’t be cryptomining.

Magic Cart: Going on for last three years, no one knows origination, attack ID’s third-party scripts on websites and then hacks scripts.

Magic Cart hacks scripts for the purpose of skimming credit card information.

Content security policies: white-list sources via browser header, if a source is not white-listed, it can’t be installed. Applies to trackers and other third-party web scripts like Google Analytics or Google Fonts.

Demonstrating code snippets which implement content security policies, will share slides later.

Includes log of violations of content security policies. I’m going to love looking at this code.

If you research content security policies online, not a lot of upp-to-date information, CSPs have been around since 2012.

W3C’s docs critiqued as being illegible, especially for those who speak English as a second language. Agree. Internationalization FTW!

Google is “do-as-we-say-not-as-we-do” with regard to its CSP docs V. what it does with its Google Analytics and other scripts.

Keeping up with what’s been added to pages manually is hard. Use Scrict Dynamic CSP instead. One policy across multiple pages.

Google has tools for CSPs: Strict Dynamic Test Bed, not sure of accessibility of tool will need to check later.

CSP can be added using meta tag or in theme’s functions.php file. Also .htaccess. Use these if you don’t want to work with browser headers. Probably can stick this in custom functionality plugin too.

CSP Mitigator from Google: Check http response headers, if no CSP present, will alert. If CSP present but there are problems with it, tool will offer suggestions.

There are also WordPress plugins for this, not recommended because some are out-f-date, but easy way to get started.

report-uri.com: Alternative to CSP Mitigater, useful if you have issues philosophical with Google.

Google’s resources making it possible for more people to implement CSPs.

Now demoing offline copy of White House website: No CSP, which means things can be injected client-side.

For the blind people playing at home, the injection to the Freedom scientific website changing the site tagline to “Too expensive products for the visually impaired” was a result of no content security policy being present on the site. Not from speaker, my own injection of another example.

Today marks the two hundred and ninth anniversary of the birth of Louis Braille, the inventor of the system of dots which bears his name and has enabled blind people all over the world, including myself, to read and write. This day is commemorated as World Braille Day, and in appreciation of the gift loaded with opportunities braille has provided me, I wanted to write a short note of thanks and gratitude as my Ultimate Blog Challenge post for today.

I’ve been a braille reader since about the age of five, and shortly after that, a braille writer. Braille was how I and my fellow students in the classes composed only of blind children I attended in my early school years learned to read, write, spell, and do math. I still enjoy reading braille whenever I can, using a braille display, and I honestly can’t conceive of my life without it. Braille has enabled me to contribute to the world around me, as well as cook, write code, and read for pleasure. Braille has made it possible for me to more concretely retain knowledge. I can learn by listening to either a screen reader or to an audio book, but there’s nothing quite like reading and then digesting as opposed to a near constant stream of spoken words that are coming in while the last ones I may have heard are still in the process of being internalized.

Several of the things I am sentimentally attached to involve braille: The box of birthday cards from my grandma which all have their messages in braille; the little porcelain shoes I received as a gift from Rian Rietveld at the final WordCamp U.S. with their attached note in braille; the purse charms I bought myself last year from elegant Insights Braille Creations with their embossed braille phrase. For me, nothing preserves memmories quite like braille does.

So, thank you, Louis Braille, for the privilege of being able to read and write, and thereby contribute to my world. Thank you for the enjoyment, and the ability to read when the power’s out, and the ability to capture memories in a way that will outlast almost every form of technology. Thank you for everything.

Statue of Greek god Apollo on display in the Walters Art Museum.
Today’s Ultimate Blog Challenge post will be a quick one, because it’s been a very long day with very few spoons and I’m very tired. The prompts for today revolve around the people we admire in either our personal or professional lives, but instead of focusing on who I already admire, I wanted to write a bit on where I think we need to be headed if we want to become people and a profession that people who are not part of our “in crowd” can trust when we make promises, (explicit or implicit), regarding improving their lives and not screwing them up. This is more of a meditation than anything else, so it’s a bit rambly.

Every day, I come across articles in my various news feeds about the latest moral or ethical outrage in tech. They’re usually different kinds of moral or ethical outrages, but I think they all stem from the same root problem: Arrogance on the part of the tech industry. I think, as a general rule, our industry tends to not think about the negative effects the things we create can have on society in general and the lives of individuals in particular. We tend to view the idea of tech taking over everything as a good thing, we assume that whatever we’re creating is part of that goodness, and when someone does bad things with it, we come back with something along the lines of “We can’t control what people do with our stuff.” We pretend that the things we create are neutral and that we as an industry are a shining city on a hill, when really neither of these beliefs are true at all and are prime examples of our telling ourselves what we want to hear and believe instead of acknowledging the realities of the situation: Technology is not neutral, we have a lot of power over society and over individuals thanks to tech being as pervasive as it is and getting more pervasive by the day, and while we can’t prevent every bad actor from using what we create, we could work a lot harder to make it more difficult to do horrible things with our creations. We’re not building neuclear bombs, after all.

If we want to become an industry the public can trust, we need to get our stuff together, and we can start with stripping away the arrogance. I’m thinking of a certain type of founder here, but really, we’re all susceptible to it. It’s really easy to convince ourselves that we’re drowning in awesome sauce, that everything we do has zero ethical problems, but that’s mostly because we generally refuse to consider ethics in tech, and so since we’re not considering it as a discipline, there must not be a problem. But ignoring a problem doesn’t mean it doesn’t exist, and the longer we continue to ignore this as an industry, the worse it’s going to get. And eventually, as people become more technologically literate, they’ll begin to look more closely at what we do outside of code as well as inside it. We cannot continue to freewheel through people’s lives, reduce them to one-dimentional users, and then walk away from the consequences that inevitably result from our actions. None of this is to say that the things we create are evil by default. I still believe that we can do a lot of good in the world. But we need to concentrate on making sure that we’re actually creating things that are beneficial, and guard against our creations being used for evil as extensively as we can. In short, we need to grow up and start demonstrating that we have the capacity to act ethically and responsibly.

Amanda standing outside while it snows
The Ultimate Blog Challenge presents so many opportunities to get to know other people and build relationships with them, and the best way for this to work for everyone is for all of us to be as human as possible with each other. I think this is why one of the starting posts is an introduction.

I personally find introductions where I have to say nice things about myself hard to write, but another one of my 2018 goals is to do more self-promotion while not becoming annoying or conceited about it, so here’s my introduction to the rest of the participants of the January 2018 Ultimate Blog Challenge.

My story on the web begins with a course on HTML I took as part of my computer science studies back in 1998. It was my favorite part of that year’s curriculum, and I spent the rest of my school career and early work years tinkering with web technologies. I use a piece of technology called a screen reader, because I am totally blind. This meant that I needed to make sure that my web tinkerings had an accessible result, because if they didn’t, I myself would not be able to use them. So along with experimenting with things like HTML and CSS, I used tools like Bobby along with manual testing with my screen reader to make sure that I could use what I created.

In 2005, while I was trying to solve the problem of displaying the Hebrew date on my very simple blog, I ran across WordPress. Never having used free licensed open source (FLOSS) software before, I assumed that WordPress was going to cost me and that the plugin I needed was going to cost me further. This was not the case. So after work one day, I decided to go through the famous five-minute install, and I had WordPress up and running on this site, which at the time was my personal site on the web.

During the day I went to work at my job, and after work I experimented with WordPress. This included hacking themes and plugins, breaking things, and learning how to fix them.

Then, one day when I went into work, I found that the software I needed to use to do my job became completely inaccessible. This meant that I literally could not do my job. There were some attempts by our operations manager at the time to try to get the software fixed, but since the call center I worked for didn’t have control of the software, those efforts amounted to something along the lines of “we’re terribly sorry our software doesn’t work for you, and here’s this other blind guy who works for the same call center you do, and this other one who works in-house with us, and maybe you guys can come up with a work-around.” Spoiler alert: We didn’t.

When the effort to get the software I needed to use to do my job proved unsuccessful, the next option according to the call center was to terminate my employment, hand me a severence package, and send me on my way. Of course I was deeply unsatisfied with this option, because I had done nothing to warrant termination, and a severence package wasn’t going to make the fact that I was going to be out of a job any more palatable. Fortunately, I had a supervisor who was willing to go to bat for me like nobody’s business, along with a systems administrator who was willing to bend the rule about low-level employees not having anything but restricted internet access on their work stations.

So because I wouldn’t agree to the termination and severence package, and because the call center I worked for didn’t want a discrimination lawsuit on their hands, I spent my last two years at that job hacking on WordPress for eight hours a day.

In mid 2007, I accepted a tech support role with Freedom Scientific, a veteran provider of assistive technology for individuals with blindness, low-vision and learning disabilities. This was my first position involving remote work, and I continued to hack on WordPress after work while supporting users of Freedom Scientific software by day, assisting with installing their flagship product, Jaws for Windows on individual machines, as well as configuring license servers to work with various corporate and government firewalls and networks. My duties also included supporting users of notetakers such as the Braille ‘N Speak, which you can see demonstrated in the below video.

Things were going great until I received an email one Saturday morning from my manager at Freedom Scientific letting me know that my hours had been reduced to zero, and that once I sent my phone and other equipment back I would receive my last paycheck. I now had a ton of free time on my hands, and no income. I applied for Social Security Disability and waited for that to kick in, while living off the six months’ worth of pay I had saved. I also decided to go back to school to obtain various Cisco and Red Hat certifications. I thought that these would be my way back into the workforce. I was very wrong.

As I began taking courses for my certifications, I learned that the certifications themselves were completely inaccessible. This meant that I could take courses all day long, but I couldn’t pass them because the certifications were required as part of the final grade. My GPA tanked, I lost my financial aid, and everything started cascading down from there. My health took a turn for the worse and I was diagnosed with Lupus eventually, I was evicted from my apartment, and I moved to Augusta, Georgia because my friends Wil and Denise offered me a couch and a roof over my head.
I was still hacking WordPress through all of this. It was the only stable part of my life. I wanted to help make it more accessible for people with disabilities, so I googled WordPress and accessibility and stumbled on the WordPress Accessibility Team in 2012. I was elated that it existed and joined up. Shortly after that, I finally got my own place to live, and started thinking about what I was going to do with the rest of my life in regard to work. I thought I could build things with WordPress for a living, but wasn’t sure if anyone else was doing it. I had heard stories, but figured they were one-offs and assumed given my recent string of failures that I could never pull it off.
I had begun listening to podcasts by this point, so I started looking for WordPress-related ones. I stumbled on the Drad Cast. I was expecting it to be full of technical things, but not very entertaining. Wrong again. I loved it. It was WordPress, beer and hilarity all rolled into one. And they talked about security as well, which is another subject I’m passionate about, along with accessibility. When the Drad Cast announced that WordSesh was going to happen, I was stoked. It was twenty-four hours of WordPress crack, and it was completely online. This was good because travel was out of the question. I made sure to tune in and stayed up the entire time listening to and absorbing WordPress knowledge. I also started interacting with WordPress people on Twitter, and learned about the wider community and how awesome it was. A couple of months after that I started using Genesis, which made WordPress development quicker as far as the front end is concerned. And I was still contributing as part of WordPress Accessibility. Things had finally started to pick up.
In 2014, I filed for incorporation in Georgia, and Customer Servant Consultancy became an actual entity. It was the name I had been operating under since I started building things with WordPress for other people and I was glad to make it official. It was also around this time that I started building internal systems with WordPress to manage projects and customer relations. Since WordPress is open source, and becoming more and more accessible by the day, I was able to gain more independence because I wasn’t at the mercy of web and application developers who know nothing about accessibility. I could build it myself as long as I had the time.

Fast forward to 2018, another year full of promise and potential. The internet is ever-changing, and the WordPress community is going strong. I never expected to find my nitche through a random web search so many years ago.

It’s time for the January 2018 Ultimate Blog Challenge, and I’m jumping in with both feet. I wanted to write a quick post both as my first post for the challenge and as my first post of 2018 to explain why.

Several of my goals for 2018, (goals mind you, not resolutions, simply because I don’t like all the social baggage that comes with that term and I also hate conformity), revolve around my websites. I’m working on aligning my personal and professional site (this one) with the principles of the indieweb, and part of that effort involves writing less content specifically for the various social media silos and more on my own sites, which then gets syndicated to social media silos. I thought that joining with a group of people who are similarly interested in bolstering the presence of their own blogs would be a great way to help accomplish this, as well as build some new relationships. I’ve also got a ton more writing to do for the WordPress with a Screen Reader series, and writing shorter posts each day will exercise the writing muscles I need for that series. I’m looking forward to reading what everyone else has to write, commenting on those posts, and adding my own posts to the effort.

If you want to join us, you can visit the Ultimate Blog Challenge website, and sign up for yourself. There’s also a Facebook group as well as a Twitter hashtag you can follow to read submissions from other participants. I’m looking forward both to my part in the challenge, as well as interacting with everyone else. Welcome to 2018, everyone.

This post originally started as a Twitter thread. Since those can be difficult to read in some circumstances, and since this content is I think valuable for more than just WordPress Twitter, I’m spooling it up and re-sharing as a complete post. I’ve also added a link and a video to this.

OK third-party WordPress, we need to have a come to Jesus meeting about your accessibility flare. The day I hoped and prayed would never arrive, and which I feared would get here despite my wishes, is here. People and organizations who choose WordPress because of its power and flexibility, and yes, because it can often be easier and less expensive to use than creating a custom solution, are being served with demand letters regarding the accessibility of the websites they build. Websites they build with our themes and our plugins. I have two clients in my cue right now, both within a matter of days, who find themselves in this position, and they’re lawyers have already responded to the demand letters agreeing to terms. This is good for business, for obvious reasons. But it does not make me happy at all. Not one bit. The fact is, I want people to build accessible websites because it’s the right thing to do, not because they have to be sued into compliance or bullied into same. We, as software creators, have a responsibility to ensure that we don’t put them in this position, whether the plugins they use or the theme they use are premium or free. The resources are out there for you to learn how to write accessible code and how to design accessibly. Trust me, this is not some sort of “Hey your stuff sucks, hire me and I’l help you fix it” marketing campaign. I want you to fix your stuff, regardless of whether or not I get anything out of it. I want people who use WordPress to be able to rest assured that, when they build with our stuff, they are building things that are inclusive of everyone, without having to ask. I want people to be able to build accessible websites without having to hire someone who specializes in accessibility to do it for them. I do not want some momblogger to be served with a demand letter, only to find that the site they built with a $100 theme and some free plugins is now going to cost them thousands of dollars any way they cut it. The only people who really win in these senarios are the lawyers sending the demand letters. There’s consequently a backlash brewing in the legislature, which if successful, will further punish people with disabilities by restricting the already-limited solutions we have for resolving accessibility complaints. And make no mistake about this, people with disabilities are not at fault for wanting their civil rights to be upheld. Accessibility is a civil right. This talk explains.

WordPress now powers close to 30% of the web, or even if you don’t like that stat, still a sizeable portion of it. With that kind of reach comes responsibility. We can say all we want that it’s the responsibility of the people building the websites to look after accessibility. That’s fair when the only people building websites are web professionals. But web professionals are far from the only ones building websites. We, as people who build for WordPress, are not responsible for what any other platform does. But we are responsible for what we do. And we build plugins and themes like it’s going out of style, which people then download and use to build websites. We have an obligation to ensure that we don’t expose them to risks like this without their knowing it. In a lot of these cases, if some small organization or business gets a demand letter, their only recourse is to take the site down, since they could never afford to spend thousands of dollars on a custom website in the first place. That means their voice goes silent. We are in the business of democratizing publishing. That also extends to building the actual website. And the thing is, this is completely unavoidable, and by unavoidable, I don’t mean in exchange for people with disabilities putting their civil rights on the back burner. This situation should not be happening, and we, as the creators of this software, have an opportunity to help stem some of this, and a responsibility to do so. I am serious. I do not want to see another urban clinic, or another non-profit, or another momblogger, served with a demand letter and faced with a bill in the thousands of dollars for fixing it because they chose WordPress instead of a custom solution. Of course, I will fix sites, switch out plugins and themes, ETC. But this is not the way accessibility should be mainstreamed. Bringing the legislative hammer down on people with disabilities is not the answer. Waiting on the Department of Justice to get its act together and settle this is also not the answer. But third-party WordPress, this game where accessibility is a nice-to-have or an afterthought is over. With or without my help, start getting your crap together. Seriously. And yes, Envato, this especially includes you, because let me tell you what’s happening. Someone wants/needs to build a website, and so they go looking for the perfect theme. So they google, and they land on ThemeForest, and find the perfect theme with all the right features, pretty demmo, all that. They then buy it and set it up, caring nothing about proper theme architecture, bundling plugins, none of that. And then, they get served with a demand letter or lawsuit. And they don’t care how the theme was built/what makes up their website. They care that they were able to spend $50-$100 and have a presence on the web. And Envato, the majority of those sales are going to you and your authors. So I do not care if you have to make a mandatory rule stating that no theme can exist on your site without following the WordPress theme accessibility guidelines, do it. I don’t care if you then have to take those theme guidelines and apply them to the front end of the plugins your authors bundle in. Do it. Obviously this goes for the rest of you too, but Envato is huge in this. So once again, get your crap together, do your f*cking jobs, so your users don’t walk into this unaware.

2017’s two major WordPress releases introduced several new widgets. Audio, video, gallery, and image, among others. Most of the new widgets are media-related, and require users to interact with WordPress’s media modal and media library.

The media modal has been a source of significant frustration in the past for screen reader users, unless you use a specific commercial screen reader and your version of that commercial screen reader is up-to-date. The level of frustration has been significant enough to discourage people who use screen readers to leave out media on their sites altogether and opt to use closed platforms to share their media instead.

And yet, you can’t build a modern site without some media included. Media like images can help break up walls of text, making your content easier to read. This means that the media modal is unavoidable. Thanks to incremental improvements in both the code used to build the WordPress media modal, as well as improvements in NVDA 2017.4, the frustration level has been significantly decreased, and while the experience isn’t completely frictionless, adding media to widgets, posts and pages is no longer something that’s a stretch to reach for people who use screen readers.

I decided to turn this section of the tutorial on widgets into its own separate post for easier reference, and because the general widgets tutorial is already long. This material will also come up again when we get to the sections on editing and creating posts and pages, and I’ll reproduce these steps in those sections so you don’t have to refer back to this post in order to find them. I’ll go through adding the audio widget step-by-step, from first adding the widget to selecting audio for it. Because the process is almost identical for the image, video, and gallery widgets, I’ll note the differences between these and the audio widget. With all of that said, let’s get started.

Help Keep This Series Free

$685 of $20,000 raised
Each post in this series takes a significant amount of time to research,
write, and edit. In order to make this effort sustainable, I would need to
charge a minimum of $100 U.S. per month in order to compensate for the time
it takes to write this material and the size of the screen reader users
market, which is around 5% of the total market of people with disabilities. This series benefits the whole WordPress community as we strive to create a
more open and more inclusive internet. The group of people who will benefit from this series the most are also the
least equipped to afford to pay a fee like this to access it. In the United
States, as of 2015, 58% of the blind
community is unemployed, and 29% live below the poverty line. Most of these people live
on a fixed income that is less than $1,000 per month.

Your sponsorship will ensure that everyone who uses screen readers
with WordPress get the same opportunity as those who do not use screen
readers: documentation they can freely use to learn WordPress, similar to
what exists in the WordPress Codex for mouse users.

This content has to stay free for screen reader users, and for everyone
else. There’s no flag you can set to detect if a site visitor is also a
screen reader user that can be used to then unlock content. And given the
horrible things being done with technology just in the last year alone,
being able to detect screen readers is technology that should never exist.

The amount of time It takes to maintain this is not something I can do for
free and so I’m asking, as an alternative to charging premium prices for
this documentation, for donations in order to keep this material free
to the WordPress community in general and people who use screen readers in
particular. Your financial assistance will ensure that each WordPress
administration screen is properly documented for people who use screen
readers, and that each post is updated when a change to WordPress requires
it. Every donation helps, and there are some sponsorship opportunities as
well.

In exchange for making this possible, the generosity of sponsors will be
acknowledged with the name, logo, and a link to their flagship product
several times in each post.

$
Personal Info

Donation Total: $5.00

The Audio Widget

From your widgets screen, with accessibility mode activated, navigate to the heading labeled “Audio”. Press the up-arrow key once until you encounter a link labeled “Add audio,” and then press enter on that. On the next screen, navigate to the heading labeled “Widget Audio,” or press your screen reader’s shortcut key for navigating to an edit field specifically, or a form control in general, to navigate to the “title” field for this widget. Using the shortcut key to navigate to an edit field specifically will be quicker, because if you navigate to form controls in general, you’ll have to move past the “expand/collapse menu”, “help”, and “screen options” buttons.

Once you’ve navigated to the “title” field, enter a title. If you decide that you don’t want a title for this instance of the audio widget, leave it blank. If you decide to leave the title blank, your audio widget will not have any heading associated with it. This can impair your site’s useability for some users, so if your audio widget contains a piece of content you’d rather your users not skip, consider giving it an enticing title that will grab attention and interest your users in exploring your audio content.

Directly below the “title” field, you’ll find a message that says “No audio selected”. This message will disappear once you’ve selected an audio file for the widget. Beneath the message, you’ll find a button labeled “Add Audio.” Press enter on this, and the fun begins.

Once you press enter on the “Add Audio” button, focus moves to the media modal. This modal appears at the bottom of the document object model, which means it appears after the “Thank you for creating with WordPress” message. Once you’ve navigated into the modal, the first thing you’ll find is the “Close media pannel” button. If you press enter on this, the media modal closes, and focus moves back to the “Add Audio” button. Press the “Add Audio” button again to re-open the modal if you’ve accidentally closed it.

Directly below the “Close media pannel” button, you’ll find two links:

  • “Add audio”, which is selected by default, and
  • “Insert from URL”, which you can select by pressing enter if you don’t want to or can’t host the media yourself, and you want to insert it into the widget from another source.

Next, you’ll find a heading at level one with the text” “Add audio”. This text will change to “Insert from URL” if that option is selected. Directly beneath the level-one heading, you’ll find two links:

  • Upload files, and
  • Media library, which is selected by default.

Below these two links, you’ll find a combo box that allows you to filter media by the date it was uploaded to your media library, and the default value is “All dates”. Below the date combo box, you’ll find a search form you can use to search for media. If you leave the search field blank, you’ll see a list of all audio you’ve uploaded to your site, shown according to filename. Each filename is a checkbox. Once you check the filename you want to insert, you’ll be dropped into browse/forms mode, and your screen reader will announce the URL of the file you’re inserting. The field you’re being dropped into is the search field. If you press tab, you’ll be able to navigate through the list of all the audio you’ve uploaded, and you’ll hear a message letting you know which filename you’ve selected, and that you can deselect it. Pressing tab again, you’ll hear “filename checkbox checked deselect button”, where “filename” is the name of the file.

We interrupt this important program to bring you a message of gladness and sincere thanks.

Wait, did you say we can select previously uploaded media?

Yes. You read that correctly. If you’ve already uploaded any kind of media to your WordPress installation, you can now select media you’ve already uploaded to be inserted into your widget, instead of having to re-upload the media again if you want to use it, and you can check and uncheck boxes without being in browse mode. For a while, you could only do this if you were using Jaws for Windows. If you were a VoiceOver or NVDA user, or you used another screen reader altogether, you had to switch to using Jaws for Windows in order to work with the media modal. Switching back and forth between screen readers is nothing new. People who use screen readers do this all the time. Switching back and forth while you’re in the middle of a task like adding content to your website is particularly frustrating though, and for some of us is a major interruption. I can’t speak for anyone else, but I’m extremely happy about the fact that this is no longer necessary when I’m adding media in WordPress. Happy as in jumping up and down like a kid at Christmas. The media modal has been a huge bugbear for the WordPress Accessibility Team, so much so that several of us have given up on it and have been just hoping that it would be completely eliminated. For me personally, this part of editing and creating WordPress sites is the only part I’ve hated. Now that I can do something as simple as check boxes to select already-uploaded media while using my favorite screen reader, I hate this process a lot less.

OK, we now return you to your regularly-scheduled program.

Once you’ve selected the file you want to insert, press your screen reader’s shortcut key to navigate to the next edit field. The first one you’ll find in this group is a read-only field listing the URL of the file. Next, you’ll find a field where you can change the title of the file. This doesn’t change the filename on the server, but it does change the title the media is stored with in your database. Once you’re done with the title, you can press tab and fill in the artist, album, caption, and description. All of this information is optional, and you can choose to do nothing with these fields. Beneath the “Description” field, you’ll find a button labeled “Add to widget”. Pressing this will add the audio you’ve selected to your widget. You can also upload new audio directly from this screen, and follow the same insertion proceedure. Once this is done, you’ll select a sidebar for the widget as well as its position, as with any other widget. The media modal will close once you’ve made your selection and inserted your media, and you’ll be back where you started. However, the button labelled “Add Audio” now has a label of “Edit Audio”, and the “No audio selected” message is replaced by a player you can use to preview your audio selection.

To remove the audio you’ve chosen, press enter on the “Edit audio” button. The media modal will re-open, and your focus will move to the “Close media pannel” button. Below this is a link labelled “Cancel edit.” This is followed by a link labelled “Audio details,” and this is selected by default. So the heading at level one on this page contains the text: “Audio details.” Directly below the “Audio details” heading is another player you can use to preview your audio, followed by an edit field containing the audio file’s URL which you can edit, and a button labelled “Remove audio source.” Pressing this button will remove your audio from the widget and return you to the “Add audio” button, with the message “No audio selected” above it.

Below the “Remove audio source” button, you’ll find a prompt advising you to add alternative sources for maximum HTML 5 playback. This is because not all browsers support every file format, and so for the most coverage, you either need to use a file format they all support, (like Mp3), or if you choose to use a file format only supported by some browsers, you can add alternate formats for the rest. To add an alternative format, press enter on the button below the alternative format prompt. This button is labeled “Ogg”, but once you’ve pressed enter on this and moved to the next screen, you can choose any format WordPress supports. If WordPress doesn’t support a particular format, you won’t see files with that extension when you’re either browsing through your media library or uploading a file.

When “Insert from URL” is selected, the “Add media” pannel becomes much simpler, at least for audio. You’re given a field to input a URL to an audio file, and an “Add to widget” button. You’ll still need to make sure you link to a file format supported by WordPress, and to keep things simple, I’ll suggest again that you stick to mp3, since everyone supports it. You do not have the opportunity to add any meta data to your audio if you insert from URL.

The Image and Video Widgets

To add an image or video widget in WordPress, you’ll follow the same process as you followed to add the audio widget. The differences will be the file format you can choose from, which will differ for both image and video, and the types of meta data you’ll enter for the image or video will be different: Alternative text for example instead of artist. With the image widget, you also have the ability to link the image to nothing, directly to the media file, to the image’s attachment page so people can view all the details of the image, or to a custom URL. These options are contained in a combo box. You’ll also be able to choose an image size: Small, medium, medium-large, and large. The specifics of each size are dictated by your theme, and when you upload images to your media library, WordPress generates all necessary sizes so that different sizes can be served to different browsers depending on screen size. Mobile devices get a smaller image size, for example. When inserting an image from a URL, you have the option to link to the image itself, a custom URL, or no URL at all. On this screen, these options are buttons and not a combo box. When inserting video from a URL, you can insert from any of the providers WordPress supports, including Youtube. This means that you can host your videos on Youtube, (as long as you follow their content guidelines), and have the player show up on your site, without having to work directly with embed code.

Once you’re done editing your image or video details, press enter on the “Add to widget” button, and the media modal will close. You can then choose the sidebar for the widget and save it.

The Gallery Widget

With WordPress’s gallery widget, you’ll add images just as you would for the single image widget, and you’ll edit each image’s details before you insert it into the gallery. As you’re adding images and editing details, WordPress will let you know how many images you’ve selected with a prompt that appears just below the “description” field for the image you’re editing. Directly below this prompt, you’l find a button labeled “Edit selection”, which you can use to remove images you’ve already selected. To clear the entire selection, press enter on the button labeled “Clear” just beneath the button labeled “Edit selection”. Once you’re done adding all your images, you’ll insert the whole gallery into the widget, and then choose its sidebar as usual.

Help Keep This Series Free

$685 of $20,000 raised
Each post in this series takes a significant amount of time to research,
write, and edit. In order to make this effort sustainable, I would need to
charge a minimum of $100 U.S. per month in order to compensate for the time
it takes to write this material and the size of the screen reader users
market, which is around 5% of the total market of people with disabilities. This series benefits the whole WordPress community as we strive to create a
more open and more inclusive internet. The group of people who will benefit from this series the most are also the
least equipped to afford to pay a fee like this to access it. In the United
States, as of 2015, 58% of the blind
community is unemployed, and 29% live below the poverty line. Most of these people live
on a fixed income that is less than $1,000 per month.

Your sponsorship will ensure that everyone who uses screen readers
with WordPress get the same opportunity as those who do not use screen
readers: documentation they can freely use to learn WordPress, similar to
what exists in the WordPress Codex for mouse users.

This content has to stay free for screen reader users, and for everyone
else. There’s no flag you can set to detect if a site visitor is also a
screen reader user that can be used to then unlock content. And given the
horrible things being done with technology just in the last year alone,
being able to detect screen readers is technology that should never exist.

The amount of time It takes to maintain this is not something I can do for
free and so I’m asking, as an alternative to charging premium prices for
this documentation, for donations in order to keep this material free
to the WordPress community in general and people who use screen readers in
particular. Your financial assistance will ensure that each WordPress
administration screen is properly documented for people who use screen
readers, and that each post is updated when a change to WordPress requires
it. Every donation helps, and there are some sponsorship opportunities as
well.

In exchange for making this possible, the generosity of sponsors will be
acknowledged with the name, logo, and a link to their flagship product
several times in each post.

$
Personal Info

Donation Total: $5.00

I have no idea who exactly is responsible for the fixes to NVDA and WordPress that produced the alignment of stars which allows people who use screen readers to use already-uploaded media when adding widgets or content within posts. Maybe these changes are tiny in the grand scheme of both projects, and whoever made them is thinking they’re not very impactful. Spoiler alert: They’re huge. I have a feeling I know who made the changes in WordPress. If I’m wrong, please feel free to correct me. But if it’s who I think it is, Andria, I owe you at least one drink if we ever meet in person. On the NVDA side, I’ve searched the 2017.4 issues, and I’m not coming up with anything. All I know is this wasn’t possible with 2017.3 when I was writing the original widgets tutorial. That’s part of the reason why this content isn’t part of that. I sent a direct message to one NVDA regular contributor asking about this, and I haven’t heard back. So whoever you are on the NVDA side, thank you for whatever you did. You’ve helped make my life a whole lot easier, and, (along with those who work on making WordPress more accessible), opened up the possibility for me to do at least two things. First, I can haz photoblog now yay. Second, when I’m building sites for clients, I now have a choice to decide whether or not to hire someone else to handle the media portion. So, whoever you are, a thousand thanks, and if we ever happen to meet in person, I also owe you at least one drink.

Everyone else, you can now start adding media to your sites now without a ton of frustration and anger. Go forth and make your sites rich and pretty.

https://wordpress.tv/2017/12/10/morten-rand-hendriksen-gutenberg-and-the-wordpress-of-tomorrow/

I’ve been waiting for this talk to go up on WordPress TV because I missed it when Morten first delivered it at WordCamp US. It’s no secret that I have a hate-hate relationship with WYSIWYG (What-You-See-Is-What-You-Get” editors for the web. Part of that is because I think if people are going to build websites, then they should learn foundational web technologies deeply. Part of that is also because literally every single one of these editors, when placed in a web context, has been completely inaccessible. I’m including page builders in this, because the problem they’re trying to solve is the “What-You-See-Is-What-You-Get” thing, but for people who aren’t developers. I started working with things on the web back in 1998. That’s a long time ago. Every single WYSIWYG editor and page builder I’ve encountered from that day to this has proven me right. Geocities page builder. Yahoo page builder. The website wizard that ships with Cpanel. Squarespace. Strikingly. Medium. Beaver Builder. Visual Composer. Wix, (except for that one time they borrowed code from the WordPress.com app). Every single one of these, along with every other similar thing I haven’t named, has been or is unuseable if you use assistive technology, or even just don’t use a mouse. When Gutenberg first came on the scene as a plugin in beta, I tested it twice, and was absolutely certain that it would be just like all the others. I kept hearing, “We’re going to make it accessible,” to which my response, (at least internally), was “Sure you are. Just like all the others who talked about how important accessibility is, only to leave it out when it came to the editor/page builder.” My initial tests cemented that response. I wasn’t alone when it came to being highly skeptical of Gutenberg and accessibility.

And then, things started changing. The Gutenberg developers were serious about making sure Gutenberg is accessible to everyone, with the best example so far being the demmo at this year’s State of the Word highlighting what I’ll refer to as color contrast guardrails. That’s not cosmetic accessibility. It’s not something like “we added some read-aloud kind of feature and a font resizer and: Magic! We haz accessibility now!” The Gutenberg experience still isn’t great when it comes to accessibility. There’s still a lot of work to be done. But Gutenberg is proving me wrong with regard to WYSIWYG editors, and I’ve never been more happy or more proud to be wrong in my life. This is actually happening. There’s actually going to be an accessible visual editor. People with disabilities are going to get to play on the same playground as everyone else is for once. We finally get to play in a world that everyone else has played in for the last twenty years, and this makes Gutenberg genuinely exciting. It’s vital though that Gutenberg is properly documented for screen reader users. First, WordPress has to establish trust with a group of people who have years or even decades of experience of being burned by these kinds of editors. That may not be fair to WordPress, but if WordPress is entering this space, it’s now in the position of having to clear away the baggage left behind by everyone else, and people who use screen readers have very long memmories when it comes to these sorts of things. Merely saying “Our thing is accessible” is not enough. I didn’t believe accessibility was going to be taken seriously, and that’s despite being a member of the WordPress Accessibility Team and having a bias in favor of WordPress for which I’m famous. Convincing anyone else that we mean it when we say this is useable by everyone regardless of whether or not assistive technology is involved is going to take work, and part of that work is going to be convincing people with disabilities to make that leap while trusting that what’s on the other side isn’t going to be the same old song and dance that’s gone on for the last twenty years. Second, the steps that everyone else has been gradually making over the last twenty years with regard to WYSIWYG editors and page builders are all going to be combined into one giant leap for people who use screen readers, because the workaround when you can’t use a visual editor is to rely on a text-based one, whether that’s copying and pasting from a text file or switching the TinyMCE editor to text mode in WordPress. People who use screen readers are now going to have to integrate all the visual concepts, along with the technical aspect of controlling them. We’ve been able to avoid doing that, unless we’re web developers, at which point we then start wrestling with CSS. But if you’re not a web developer and you’re focusing on using software like this, until Gutenberg, you’ve been able to almost completely avoid dealing with visuals, unless you’re doing something like choosing a theme or adding images to a post or page. Otherwise, it’s text whenever possible. Changing the status quo this much, without documentation to aid the transition for people who use screen readers, ensures that as a user group, we are not likely to make the leap, unless we have a pressing need to do so. As a whole, we’ll just switch to a different platform with less advanced editing, or, if we don’t already have websites, just not have a website at all and use Twitter or Facebook to create content on the web. Personally, I’m willing to make the leap, and help others do the same. I want everyone to participate in the WordPress of tomorrow, to continue to have the ability to choose whether or not to own their own data, ETC. But I have a vested interest in WordPress. I want everyone who wants to use WordPress to be able to keep up with the changes that are coming without having to make a choice to add content to their websites that’s based on “How much mental and emotional energy am I going to have to put into this?” That’s not going to be possible unless there is proper documentation to go along with the software.

Jeremy Felt gave the below talk at this year’s WordCamp US, in which he details how just over a year ago, Washington State University received a complaint through the Office of Civil Rights that some of their web pages were not accessible, and what they’re doing to resolve the complaint. I have some thoughts that I’ll share after the video.

Download “Managing accessible content on thousands of sites” directly.
There are a few things that stood out for me in this talk. First, the transparency. I’m glad to see some universities detailing how they’re resolving OCR complaints, because it shows universities who are in the process of figuring out how to resolve complaints a path forward. The talk also demonstrates that, if a university with five million URLs to handle can get the process going, so can universities with smaller web footprints, and even K-12 schools with tiny budgets. Washington State has even made their tools and related documentation freely available. Free as in other universities can download them and use them without spending budget. I’m sure other universities have also made tools available, but this is a pretty extensive collection, and they’re not even all WordPress. So if a school isn’t using WordPress, there’s still something here they can use. Not that schools had any excuse before now to use to suport waiting to make their websites accessible, because the laws governing website accessibility for schools are not new, and there have been a metric ton of OCR complaints already. Now, not only do schools have no excuses, they even have free resources they can deploy so they don’t have to create them on their own. I’m going to be spreading this talk and the linked resources as far and wide as possible.