Monday, June 30, 2014

Printing from Mobile Has Improved

With more and more people relying on a mobile device as their primary computing platform, it stands to reason that more and more mobile users may want to print web page content — whether directly to a printer or as a PDF for later use (or display as in the case of scannable bar/QR codes).


The state of print style support on mobile browsers has been abysmal for some time. At my talks on making sites printable I even demonstrated that by showing support in the latest and greatest (based on your platform preference) at the time (Samsung Galaxy S4 using the default Android browser). If you look at the slides (slide 50 from Stir Trek and slide 51 from WordCamp Buffalo) you'll see that the output was pretty much just the mobile layout centered in a sheet of paper, despite well-defined print styles.

Part 1 of 3, screen shot of printed output in default Android browser from May 2013. Part 2 of 3, screen shot of printed output in default Android browser from May 2013. Part 3 of 3, screen shot of printed output in default Android browser from May 2013.
Screen shots of printed output from a Samsung Galaxy S4 using the default Android browser, circa May 2013 (I forget which Android release this was). I didn't output to PDF because I couldn't at the time.


Fast forward and support for print styles in mobile browsers has improved. At least for Android.

My tests on an iPad were futile, as Safari and Opera Coast both want to print to a printer (which I don't have at home) and not to a PDF. I tried to print to Google Cloud Print from Chrome on the iPad and got 404 errors. Opera Mini just doesn't seem to offer the option. Anyone with an iDevice who would like to chip in, I used the Algonquin Studios jobs page for my tests, as it typically fits on one sheet.

On Android I had better luck. The default Android browser, Chrome and Firefox all allowed me to print. None of Yandex, Opera, Opera Beta, Opera Classic nor Opera Mini offered a print option. Screen shots of where you can find the print option in these three browsers:

Android browser print dialog. Chrome print dialog. Firefox print dialog.
Screen shots of print dialogs from default Android browser (Mozilla/5.0 (Linux; Android 4.4.2; en-us; SAMSUNG SPH-L720 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Version/1.5 Chrome/28.0.1500.94 Mobile Safari/537.36), Chrome (Mozilla/5.0 (Linux; Android 4.4.2; SPH-L720 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.141 Mobile Safari/537.36), and Firefox (Mozilla/5.0 (Android; Mobile; rv:30.0) Gecko/30.0 Firefox/30.0).

Unlike last year's tests, the print output of each of these browsers shows that they are using the site's print styles. Which means they are truly honoring responsive design by following the appropriate media query in the appropriate context. Examples of the output:

Screen shot of Android browser print output as PDF. Screen shot of Chrome print output as PDF. Screen shot of Firefox print output as PDF.
Screen shots of the PDF files from each of the three browsers (left to right, Android browser, Chrome, Firefox). Select an image to see the full PDF, but note that the Android browser (the first one) is a 14.7MB PDF while the others are less than 60kb.

Chrome for Android

Chrome did a great job of rendering all of the elements as I expect, namely similarly to how Chrome does on my Windows machine. By default it disables background colors, which is good for me since I have two errant declarations I did not clear. It also rendered the QR code which is only generated when the user prints the page (or performs a print preview). (I have a tutorial on how you can auto-generate QR codes at print-time should that feature interest you.)

Android Browser

The Android browser behaved a bit differently than Chrome. While it also ignored background colors and also pulled down the QR code, it didn't use the custom fonts. It also greatly reduced the margin at the top of the page. Most oddly of all is that it rendered the PDF as a bitmap. A 14.7MB bitmap. Whereas in the Chrome PDF you can zoom in to see crisp edges on the text and logos (SVG), the Android browser PDF shows the constituent pixels of every otherwise vector item.

Firefox for Android

Firefox honored the background colors (oops) and the typefaces. It failed to render the QR code. Firefox also scaled the text larger than Chrome and larger than Firefox on my Windows machine. Most interestingly of all, however, was the paper size. Unlike Chrome and Android browser (8.5 × 11 inches), the paper size on Firefox's PDF is 6.67 × 11.11 inches.

Other Platforms

As I noted above, I couldn't get print to work on my iPad. I also went to the Apple store to try it, but none of the devices that I checked were either connected to a printer or could print to PDF. I don't have a Windows Phone, though I also went to the Microsoft Store and still had no luck. I don't have immediate access to a BlackBerry of any kind. If you have a device and/or browser combo I did not test, feel free to comment below and let me know what you saw.

What to Do

(Continue to) make print styles. So far it looks like they will work on current mobile browsers that allow printing or that export to PDF.


If you want to learn how print media queries can be useful to you, check out any of the following links (which themselves may contain many more links).

Update: July 1, 2014

Kimberly Blessing was kind enough to test on Windows Phone, only to find that Blogger wouldn't let her comment. Her salient tweets to me follow:

November was kind enough to test on an iOS device and saw the same output as I got from Android. That's two platforms covered, which is good news in general.

Wednesday, June 18, 2014

Keep the Focus Outline

Animated GIF screen capture of Virgin America site.
This animated GIF is a screen capture of cycling through every interactive element (mostly links) on the page using just the tab key. You'll note that in all but one case, the only indication of any change is in the lower left in the browser's status bar where it shows the URL of the destination link. The URLs ending in a "#" are the booking options.

Today's rant is inspired by all the gushing over Virgin America's new web site — just because it's responsive.

To be fair to Virgin America, making its site responsive is a huge win for users whose primary method of booking is via a smartphone or tablet (or, god forbid, phablet or tablone). Its new site, however, is a huge step backward for users who rely on the keyboard as their primary method of interaction.

Virgin America's CSS has a style to identify anchors with focus (yes, there are other elements that should get focus, but I am looking at just the most basic support): a:focus {outline: thin dotted;}

What's so frustrating is that the useful style is then overridden with this harmful declaration: a:focus {outline: none;} This override greatly decreases the usability and accessibility of the site. Unfortunately, this practice is still common on many more sites across the web.

As a web developer, one of the simplest accessibility tests you can do is unplug your mouse. Two quick things to review as part of that: Can you interact with all controls with only the keyboard? Can you tell which item has focus?

Even if you aren't motivated to run that simple test from an overriding sense of being nice to your users, there's a legal concern here. As I wrote last week, the U.S. Department of Justice held H&R block accountable to Web Content Accessibility Guidelines 2.0 Level A and AA Success Criteria. That means there is case law for making your consumer-facing site comply or face penalties.

By excluding focus styles, Virgin America is running afoul of one of the AA Requirement 2.4.7:

2.4.7 Focus Visible: Any keyboard operable user interface has a mode of operation where the keyboard focus indicator is visible. (Level AA)

In short, if your site doesn't make interaction elements obvious when accessed via keyboard, not only are you hurting users, you're opening yourself up to litigation.

Further Reading

Again, this isn't a new issue. It even has its own mini-site at, which offers these handy links:

To add another, this article, When Do Elements Take the Focus?, might be handy to understand just when you can expect to see :focus styles get applied by a browser.


In March I wrote about how Google removed underlines from search result links. My concern there was that web developers might follow suit. Between removing keyboard focus indicators and underlines from links, I am amazed that developers do so much to make the core interaction element of the web essentially hidden to so many users. I am reproducing the list of related links here as they are relevant to the overall issue of keeping links usable:

My Efforts to Reach Virgin America (so far)

I may have contacted Virgin America on Twitter once. Or Twice. Or three times. Perhaps even a fourth time. And filed a bug with And left a comment at Wired's article. I've embedded the tweets below so you an retweet if you are as whiny as I.

Update: June 27, 2014

On December 12, 2013 a rule became effective from the U.S. Department of Transportation (DOT) titled Nondiscrimination on the Basis of Disability in Air Travel: Accessibility of Web Sites and Automated Kiosks at U.S. Airports. That links points to the following section on accessibility:

Finally, we proposed a tiered implementation approach in which the WCAG 2.0 standard at Level A and AA would apply to (1) a new or completely redesigned primary Web site brought online 180 or more days after the effective date of the final rule; […]

As keyboard accessibility is one of the requirements of WCAG AA compliance, Virgin America's new site does not honor this rule. However, if the Virgin site officially launched before June 10, 2014, then it squeaks by on a date technicality.

More information on the implications of the law are in the post New accessibility rules coming to airline websites. Are you ready?

Update: July 21

It took just over a month, but Virgin America responded to me:

I don't see any reason to follow and/or direct message to share more information. I have this blog post, which I've linked repeatedly. I think that's plenty. I responded and asked if or when the issue would be fixed, but I've been met with silence. Perhaps in another month I'll hear more.

In the meantime, given the amount of action the below tweet of mine has gotten, I know I am not alone in thinking that disabling the focus outline is generally a bad idea:

Update: October 15, 2014 — Screen Reader Walk-Through

Marcy Sutton, at the JSConf, provided a walk-through of the Virgin America web site experience using a screen reader. It does a great job of showing what a terrible experience this site has created. I've embedded it below, bracketed to the relevant part of her talk, or you can view it directly on YouTube (starting at 0:20).

Update: October 23, 2014

Here is a video of the screen reader walk-through, pulled from the latest version of Marcy Sutton's slides on Angular Accessibility:

Sunday, June 15, 2014

Verizon Using Disabilities to Fight Net Neutrality

On Friday, Mother Jones reported that it has three sources saying that Verizon lobbyists are making a case on Capitol Hill that net neutrality harms those with disabilities. From Mother Jones:

Three Hill sources tell Mother Jones that Verizon lobbyists have cited the needs of blind, deaf, and disabled people to try to convince congressional staffers and their bosses to get on board with the fast lane idea. But groups representing disabled Americans, including the National Association of the Deaf, the National Federation of the Blind, and the American Association of People with Disabilities are not advocating for this plan. Mark Perriello, the president and CEO of the AAPD, says that this is the "first time" he has heard "these specific talking points."

In the absence of seeing the language Verizon is using, I can only go on what Mother Jones reported (other news outlets covering this are linking back to Mother Jones). Given the amount of cash ISPs like Verizon are lobbying to kill net neutrality ($19 million in the first quarter of 2014 alone), I don't consider this report to be far-fetched. Certainly Verizon is unlikely to make this argument in the open — there will be a backlash when no proof is offered and disability rights groups shoot it down (as has been happening just on these rumors).

It seems to me it is in the best interest of net neutrality to react as if this report is true. Further, it seems like a good idea to make it clear disabilities cannot be used as a pawn in some armchair morality action, no matter how well elected officials feel it may poll.

I was pretty quick to jump on this on Twitter, mostly out of anger, and given the retweets and favorites from my meager following (particularly from the accessibility community) I suspect I am not alone. Feel free to retweet it to your followers (or write your own):

A quick Google search (or use your own search terms) will net you many results from people who think Verizon's reported argument is absurd (Won't somebody please think of the childrendisabled?).

I don't think my blog post, which ranks nowhere on Verizon's radar, will do much to sway its nor the FCC's opinion, but I do want to make sure I add to the growing chorus of people publicly denouncing something Verizon is arguing behind closed doors.


In April I wrote a post about net neutrality (We Need to Raise a Stink about Net Neutrality) where I asked people to tweet to Tom Wheeler and the FCC. In it I include plenty of references and arguments, but this video from Last Week Tonight with John Oliver (which I amended to my original post) does a better job of explaining net neutrality:

As John Oliver suggests, you can leave our own comments at the FCC site. As of a week ago there were 49,206 comments. As of this writing there are 115,213 comments. Only the most recent 10,000 comments are available to be viewed, which I cannot explain. Further, if you want to consider accessibility, as Verizon seemingly does, you may want to also ask the electronically filed responses be made available in a format other than PDF.

Update: July 25, 2014

Perhaps in reaction to the Verizon rumors, or just because the cause makes sense, on July 18 five different organizations related to accessibility filed their own joint comments with the FCC. The organizations are: Telecommunications for the Deaf and Hard of Hearing, Inc. (TDI), the National Association of the Deaf (NAD), the Hearing Loss Association of America (HLAA), the Deaf and Hard of Hearing Consumer Advocacy Network (DHHCAN)), and the Rehabilitation Engineering Research Center on Telecommunications Access (RERC-TA) along with Professor Clayton Lewis. Together they filed a brief, which you may read online (and which I have copied locally as I suspect this URL will be allowed to rot by the FCC), outlining their support of net neutrality. An excerpt:

[We] seek to promote equal access for the 48 million Americans who are deaf, hard of hearing, late-deafened, deaf-blind, or deaf with mobility or cognitive disabilities to the informational, educational, cultural, and societal opportunities afforded by the telecommunications revolution.

The letter outlines six arguments in particular, with far more detail in its sixteen pages:

  1. Retaining and improving transparency rules will improve the ability of consumers who are deaf or hard of hearing to access the Internet on equal terms.
  2. A no-blocking rule would help ensure the availability of accessible telecommunications services for consumers who are deaf or hard of hearing.
  3. The Commission should bar paid prioritization while ensuring that Internet-based services and applications are accessible to consumers who are deaf or head of hearing.
  4. Title II reclassification would afford the Commission additional flexibility to ensure that broadband services are accessible, and the Commission should exclude accessibility-related Title II provisions from forbearance if it reclassifies.
  5. The Commission should ensure that the enterprise services and premise operator exceptions avoid facilitating illegal discrimination against people who are deaf or hard of hearing.
  6. The Commission should ensure that the use of data caps do not result in discrimination against people who are deaf or hard of hearing.

The same day, the American Association of People with Disabilities and the National Council on Independent Living also filed their own joint letter with the FCC (also available from a non-FCC URL). In addition to an open internet, the letter argues for an ombudsman:

Over the past few years, Congress shifted the focus of universal service from mere availability to adoption and utilization. […] This important review of Open Internet policy provides an opportunity to ensure that people with disabilities have full and open access to broadband communications and enjoy the important consumer protections mentioned in our comments. […] An Ombudsman Office Can Monitor and Report on Access Issues Associated with Consumers with Disabilities

Ars covered the latter filing in its Tuesday post, "Deaf advocacy groups to Verizon: Don’t kill net neutrality on our behalf."

Monday, June 9, 2014

Accessible Bootstrap Frameworks

This post originally appeared on the Algonquin Studios blog.

If you work much with accessibility, then you might consider the title of this post to be an oxymoron, a self-contradicting mess. Frankly, I tend to agree. Barring a compelling use case, I never start a project with Bootstrap and I resist including it when explicitly requested (so far successfully in nearly every case). Of a few reasons, accessibility is the biggest issue I have with it.

There are, however, a couple options to mitigate the accessibility mess that is Bootstrap.

I should note that this post is a follow-up to the Q&A after my talk at HTML5 Developer Conference, Selfish Accessibility, where I gave some advice about Assets which, at the time, was using Bootstrap 2 (it has since moved to version 3).

Screen shot of The Centers for Medicare & Medicaid Services (CMS), a division of the US government (specifically HHS), has emerged as an unexpected champion of accessibility for Bootstrap and made its own framework, Assets (first announced in late 2012). This may not be a surprise to many when you consider CMS's role working with people who are older and/or in need of some form of medical assistance (equipment or services). Arguably, its constituency stands to benefit the most of any division of the US government.

Assets was just updated to use Bootstrap 3 (which should make many a Bootstrap user happy). Assets promises you:

Section 508 compliant, cross-browser compatible UI components that you can use in your accessible web site or web application. Assets is an accessible, responsive, modern framework.

If you are an organization that works with the federal government to build web-based applications for the general public, then it may be a no-brainer to use this framework. Arguably your Section 508 accessibility requirements are met to a high degree, and where the framework fails you may be able to make a case that you are using a government-sanctioned tool. It doesn't let you off the hook for more fundamental accessibility failures (color contrast, images as text, infinite scroll, etc.).

The accessibility statement identifies the profiles used for testing. The documentation page links to all the UI components, which is handy. Jennifer Sutton has also provided links to tests she made with the calendar widget over at the WebAIM mailing list (though she was using version 2).

There are some caveats. On the spectrum of Internet Explorer versions, it only supports version 8 and above (the last version, built on Bootstrap 2, also only supported IE8+). The files are served from a US government CDN, which while not bad in and of itself, should require you to test them to make sure it serves the files as well as a commercial CDN. For example, icon font FontAwesome is served via the Assets CDN, though you may want to compare against others given its ubiquity on the web.

The Assets documentation also provides links to a Medicare style guide and a style guide, both of which require a login to see, severely limiting their value to sub-contractors.

PayPal's Accessibility Plug-in

Screen shot of PayPal Bootstrap accessibility plug-in on GitHub. If you refuse to use anything from the US government, you can head to the other end of the spectrum and use the accessibility plug-in from PayPal.

According to PayPal:

This plugin adds accessibility mark-up to the default components of Bootstrap 3 to make them accessible for keyboard and screen reader users.

Because it's an add-on to your existing Bootstrap 3 code, it should just work. It will make the following default UI components accessible: Alert, tool-tip, pop-over, modal dialog, drop-down menu, tab panel, collapse, and carousel. You can pop over to the demo page and test it out with and without the plug-in (use a keyboard to understand the benefits).

As with Assets, this doesn't guarantee that what you build will be accessible. You still need to consider the same items I cite above along with many many more accessibility elements which cannot just be handled with a plug-in nor a checklist.


The Canadian government has created its own framework, also intended to be accessible, usable, interoperable, mobile friendly and multilingual. The Web Experience Toolkit (WET) has just moved up to version 4.

While not a framework nor an accessibility add-on, the United Kingdom has a handy style guide to make all its properties look consistent: GOV.UK elements

There may be hope for government web sites after all, though just don't try to use with a keyboard.

Update: July 7, 2014

Heydon Pickering has updated his Revenge.css to work with some Bootstrap shortcomings. If you aren't familiar with Revenge.css, it's a handy CSS file you can call via a bookmarklet to highlight accessibility issues in your CSS file (like removing outlines, or forgetting the :focus selector when you use the :hover selector).

Sunday, June 8, 2014

Accessibility Regulation Confusion from U.S. Government

There has been some activity lately from the U.S. federal government related to accessibility requirements for web sites. Unfortunately, that activity is sending a mixed message to many burdened with making a case for accessibility compliance in the private sector.

Good News

The U.S. Department of Justice (DoJ) made news in the accessibility community back in March by issuing a Consent Decree in a case with H&R Block requiring H&R Block to follow the Web Content Accessibility Guidelines (WCAG) 2.0. From the DoJ press release:

On Dec. 11, 2013, the Civil Rights Division and the U.S. Attorney’s Office for the District of Massachusetts filed a complaint in intervention in the lawsuit National Federal [sic] of the Blind (NFB) et al. v. HRB Digital LLC et al. to enforce Title III of the ADA [Americans with Disabilities Act]. […]

[…] The recognized international industry standards for web accessibility, known as the Web Content Accessibility Guidelines (WCAG) 2.0, can be found online and are freely available to help companies ensure that individuals with disabilities can fully and equally enjoy their web-based goods and services.

Under the terms of the five year decree, H&R Block’s website, tax filing utility and mobile apps will conform to the Level AA Success Criteria of the WCAG 2.0. […] H&R Block will also pay $45,000 to the two individual plaintiffs, and a $55,000 civil penalty.

Essentially the DoJ stepped into a lawsuit, identified an accepted standard to follow, and put some teeth in its action in the form of a financial penalty (both in cash and H&R Block's cost to rebuild its offerings). For those who champion accessibility, this is a win.

It's not the first. Back in 2012 the DoJ filed a Statement of Interest in a battle between Netflix (never mind that it's in a PDF) and the National Association of the Deaf that the absence of closed captioning violates the ADA. Earlier this year it also filed a Statement of Interest in a case against Lucky Brand Jeans (another PDF) for its inaccessible customer-facing credit card swipe machines (which probably inhabit far more stores than just Lucky's).

The DoJ has effectively been enforcing ADA laws for private entities, not just state and local governments. This is A Good Thing™

Bad News

Let's ignore the fact that the DoJ can't get the name of the National Federation of the Blind correct in a press release, or that the ADA site provides Statements of Interest from the DoJ as PDF files (you can learn some more about PDF accessibility at Denis Boudreau's a11y Tips site).

The Laws

The DoJ was expected to release a set of legally binding standards for web site accessibility back in April. That deadline flew by with hardly a word from the DoJ. Instead, buried in a Unified Agenda (a catch-all planning document), The DoJ casually mentioned that it's been delayed until March of 2015. You can credit Seyfarth Shaw LLP for catching that one.

As the Law Office of Lainey Feingold notes, this has been happening for years:

The web regulations have been pending since July 26, 2010 when the DOJ issued its Advanced Notice of Proposed Rule Making (ANPRM). The public comment period ended on January 24, 2011. Ever since then, the DOJ has been announcing deadlines for the next step — and then moving those deadlines as the target date approaches.


The H&R Block Consent Decree has some dates associated with adhering to the ruling. One of them (14.d) has come and gone:

  1. Web Accessibility Policy [underline theirs, not mine]: By June 1, 2014, H&R Block shall adopt and implement a Web Accessibility Policy consistent with the attachment at Exhibit A and as approved by the Private Plaintiffs and the United States. By June 1, 2014, H&R Block shall: […]
    1. make publicly available and directly link from the homepage, a statement of H&R Block’s policy to ensure that persons with disabilities have full and equal enjoyment of the goods, services, facilities, privileges, advantages, and accommodations of H&R Block, through, its mobile applications, and its Online Tax Preparation Product; […]

When I visit the H&R Block home page, I see no link or content related to accessibility, disabilities, nor the ADA (if I am wrong, please correct me). I even made an archived version from the Wayback Machine so you can see it in case H&R Block changes it tomorrow (see how you can make your own).

Granted, that requirement is only a week overdue, but given that the DoJ is four years overdue on issuing regulations, one could argue that deadlines don't carry much weight with the DoJ.

Just Setting a Good Example

The DoJ site itself is not exactly a shining beacon of accessibility. From the odd image map on the logo (really, one image, two links to the same location?) to text as images, it could use some help. If you head over to the DoJ Acccessibility Information page you will see it states that the DoJ is committed to provide its content in accordance with Section 508 of the Rehabilitation Act.

If you've been working in web accessibility, then you may be aware of the government web site devoted to Section 508, which requires that Federal agencies’ electronic and information technology is accessible to people with disabilities, and which is intended to be used by federal employees:

As I challenged on Twitter, try using it with your keyboard. Go ahead. Just try it.

For the more technical among my readers, here's an example of the CSS declarations of agony (files linked in this tweet):

For added fun, find the Skip link and then see where it takes you.

The government body in charge of creating rules for making sites accessible is built based on the requirements of a federal site that itself is a complete cluster. It may, in fact, be a brilliant parody site showing government workers how not to build a compliant site.

Or it might really be the best they can do.

What You Should Do

Keep coding (or start coding) your sites to meet Web Content Accessibility Guidelines 2.0 Level A and AA Success Criteria. This is the requirement the DoJ put in its ruling against H&R Block, the most recent example we have of where the federal government is defining a standard.

And then stop worrying. As WebAIM notes, fear of litigation isn't the best reason to make a site accessible. You should do it because it's the right thing to do. Of course, in my HTML5 Developer Conference talk, I argue that making accessibility all about you (slide 13) is probably a more effective means of getting developers to implement, but I leave that decision up to your personal level of narcissism.


  • Assets, the accessible, Bootstrap-based development framework from the federal government (really from the Centers for Medicare & Medicaid Services).

Update: June 9, 2014

Read my post about Assets, the U.S. government framework based on Bootstrap 3, and PayPal's accessibility plug-in, which promises to make your existing Bootstrap implementation accessible: Accessible Bootstrap Frameworks

Update: June 25, 2014

In a release last week from the National Federation of the Blind (NFB), the NFB and a blind business owner reached an agreement with the Small Business Administration because its web site violated Section 508 (read a brief from the law firm representing the NFB). This is newsworthy for two reasons:

  • The SBA is a government agency and is being held to the only current federal law pertaining to web site accessibility, effectively stating the government has to follow its own rules.
  • The site, the one housing the rules to which the SBA is being held, doesn't follow those very rules, as I noted above.

I am struggling to find a way to describe how absurd this is. I am open to suggestions.