Blog Archive

Home » Blog

DSRIP as Organizational Behavior: Top Down Part 2

emergencyredsmockContinuing my last post, I think the Delivery System Reform Incentive Payment (DSRIP) has a lot of teach anyone learning how to change an entire industry from the throne of the main payer. It’s happening right now, like an experiment in action, to reduce preventable hospital admissions by 25% over five years.  The same program from the Centers for Medicare and Medicaid Services (CMS) at the federal level, DSRIP, has been implemented in different ways by different states.

Lesson #6: Give participants many ways to accomplish an objective, and let them choose the ones that suit them.

Medicaid has the reputation among payers of offering break-even compensation at best, and CMS has reformulated it under DSRIP as a potential money-maker. How? CMS offered states a menu of programs they could take on.

Lesson #7: Setup projects to share the risk and incent behaviors that accomplish the change you envision.

Each program comes with a tradeoff. The revenue per patient per month in the program has a cap. There are a bunch of factors that affect the cap, influencing your choices and strategies in pursuit. But setting that aside for a moment, if it costs you more than the cap to take care of your population, you lose. Likewise, if it costs you less then you gain. CMS and the state Department of Health have chosen projects that they believe will lead to more efficient delivery of care, so that CMS and the State can ultimately target spending less while providers keep a larger share than they do today – a win for both sides. Going further, the state even setup a High Performance Fund worth up to 30% of DRSIP project value for closing the gap to goal to 20% or placing within the 90th percentile of all PPSs in the state.

Lesson #8: Pay for performance, and give time to get the process down initially followed by actual outcomes later.

Looking at those factors affecting the cap again, some cover outcomes: projected ones at the start and actual ones later. Also, the state expects participants to report on defined metrics at the start and real performance later.

Lesson #9: A project advisory committee can increase partner accountability and investment in the team.

Many of the safety net, behavioral health, and community health providers partnered with hospital systems have never collaborated before. Who will charter project committees, enforce compliance with reporting and metric gathering, oversee financial transactions? The state requires each PPS to establish a Project Advisory Committee made of representatives from each collaborating partner.

Lesson #10: Identify key resources for your program to succeed and make sure they’ll survive the transition.

Earlier, we mentioned Medicaid’s reputation as a low-reimbursement program. Some of the hospitals serving Medicaid patients may not survive the uncertain transition to payment for value. This risks losing some of the critical capacity to serve the population, which would likely cost more to replace than to bridge. To counter this, in parallel NYS is offering $20M in Interim Access Assurance Funds to four WNY hospitals.

Lesson #11: By tying all providers in the state together to avoid a penalty, you can encourage collaboration.

Under DSRIP, a lead PPS can do great but still not earn its full incentive. How? There are four statewide goals that must be satisfied, or all PPSs will suffer a proportional reduction in payments. The goals include statewide metrics, composite success of projects, growth in Medicaid spending kept to less than the trend, and overall adoption of reimbursement for value (not service). The state formalized a Learning Collaborative program to transparently share best practices, but I suspect this will only work in the absence of competition. This also gives the state a relief valve to re-negotiate the program or pull the plug if it fails to hit its big picture goals, regardless of how the blame gets dished out.



DSRIP as Organizational Behavior: Top Down Part 1

How do you change the way a whole industry works? You can unearth a vast hoard of a key ingredient, dropping its price. You can innovate, radically altering individual behavior as the change spreads. You can legislate, changing the flow of business.

But what about healthcare, a big industry that’s full of innovation on the delivery side yet lags behind its own vision in the way it does business? Healthcare has a stated goal, a triple aim: improve the experience of care, reduce per capita cost, and increase population health. Change is slow on the business side for many reasons, such as:

  • Lots of stakeholders must work together: payers, providers, facilities, suppliers, manufacturers, IT firms, and on and on.
  • The system is big enough that individual teams within a stakeholder can’t see the big picture, so they optimize locally.
  • The consequences could mean life or death.
  • As a result, government has heavily regulated how stakeholders work together.
  • The same data field could be used or misused in different ways from place to place.

I think the Delivery System Reform Incentive Payment (DSRIP) has a lot of teach anyone learning how to change an entire industry from the throne of the main payer. It’s happening right now, like an experiment in action, to reduce preventable hospital admissions by 25% over five years. The same program from the Centers for Medicare and Medicaid Services (CMS) at the federal level, DSRIP, has been implemented in different ways by different states.

Lesson #1: Without the commitment to change, one probably won’t, and not everyone is ready at the start.

Think about that for a minute. To influence our whole nation to make progress on the triple aim, CMS invited proposals from all fifty states. Not all of them responded, and certainly not all at the same time.

Lesson #2: Don’t change everything at once. Pick a channel through the system and make a pilot of it, building on its successes and pivoting where it fails.

Further, CMS started with Medicaid, just one of the payers it operates and one of many in the marketplace, albeit a very large one. I wouldn’t doubt if Medicaid will follow soon, and laws will be written to convert commercial payers to fit the same format.  By the time we get to other payers, we’ll have grown the capacity to work differently.

Lesson #3: Assume that there are already organizations acting the way you seek; encourage them. Where you need to grow new ones, look for volunteers.

By June 26, 2014, the state required all responding organizations to submit design grant applications. An organizations is called a Performing Provider System (PPS), the set of all participants collaborating to serve a specific population of patients. Essentially, the state did not dictate leads and teams; it drew back the curtain on a large sum, gave a ton of criteria, and asked for volunteers.

Lesson #4: Pay for organizations to plan how they’ll achieve goals, and use your budget applications to ensure good project management.

Design grant applications disclose the PPS’ partners, service area, selected projects, community needs assessment plans, vendors, timeline, data requests, budget, collaborating partners (providers), and a project advisory committee.

Lesson #5: Use qualifiers on participants to encourage behavior and focus actions even before you begin your project.

The state was careful to describe which organizations could qualify to participate in the program. For example, they banned applications from any organization without at least one other partner. In this way, the state focused participants on collaboration, an effective strategy identified from prior successes. Some organizations may be changing themselves too, adopting Health IT systems that gather metrics to position themselves as better partners.

NYS DSRIP: An $8 Billion Experiment in Working Together for Better Healthcare

In a recent post on this site, my colleague David Thiemecke told us why we should care about NYS’ $8 Billion investment in Medicaid Reform. He explains how NY is using this money to realign healthcare delivery so that providers work together to provide the best possible care, avoid costly admissions and reduce the overall cost of healthcare delivery.  I believe the specific goal  “to achieve a 25 percent reduction in avoidable hospital use over five years” was identified by NYS to serve as tangible, measurable outcome to drive the project.  However, the real goal is collaboration.

In the first of a series of 5-minute videos titled “5 Themes in 5 minutes“, New York State Medicaid Director, Jason Helgerson drives this point home.  He states that “Collaboration, Collaboration, Collaboration!” is key and that both Performing Provider System (PPS) and statewide performance will drive the money. The ultimate goal is to produce a sustainable, long-term transformation of our healthcare delivery system.  In this post I’ll focus on the collaboration aspect. and we’ll use Medicaid data sets made available by NYS to dig a little deeper.

How will we measure success?

The goal is clear: Reduce avoidable hospital use by 25% within 5 years.  In order to do this Performing Provider Systems (PPS) will be formed to get many providers to collaborate within their region to tackle between 5 and 10 projects from the DSRIP Strategies Menu and Metrics document.  For each project, the success metrics and corresponding payments are clearly laid out.  For example, all PPSs will be required to complete the “Create Integrated Delivery Systems” project and report on their performance against the Prevention Quality Indicators (PQI):

Prevention Quality Indicators (PQIs) are a set of population based measures that can be used with hospital inpatient discharge data to identify ambulatory care sensitive conditions. These are conditions where 1) the need for hospitalization is potentially preventable with appropriate outpatient care, or 2) conditions that could be less severe if treated early and appropriately. All PQIs apply only to adult populations (over the age of 18 years). The rates were calculated using Statewide Planning and Research Cooperative System (SPARCS) inpatient data and Claritas population information. For more information, check out:

What’s great for all of us: this data is open and freely available to anyone who wants to do some digging.  The PQI data set and many, many more are neatly organized for our perusal on the DSRIP Performance Data page.

Collaboration within the Performing Provider System (PPS)

Using the open PQI data set we can quickly identify some areas where collaboration within a PPS can be beneficial.  For instance, here’s a look at the rate of PQI discharges in the NYC region:

012 Prevention Quality Overall Composite - Rate of Discharges per 100,000 people vs. NYS Expected rate - NYC Region

2012 Prevention Quality Overall Composite – Rate of Discharges per 100,000 people vs. NYS Expected rate

If you check out the Letters of Intent for the NYC-region PPS, you’ll notice that 4 of the Emerging PPSs would cover all of these counties. It stands to reason that the providers in Bronx county could benefit from working with those in the better performing Queens county to implement best-practices.  Further, incentives payments to the PPS will take the performance of the entire system into account, so Queens and Westchester will not “get paid” unless they work with the under performing counties to produce better outcomes overall.  To borrow a quote from GE-legend Jack Welch, “Everyone’s life raft is tied to the same boat”.

Collaboration at the State Level

As I mentioned earlier, performance at the state level matters too.  In fact, if the program doesn’t meet specific metrics laid out by CMS, then overall funding to the state will be put at risk.

“What happens in Binghamton, truly matters in the Bronx.” – Jason Helgerson, New York State Medicaid Director

Taking a look at PQI discharges across the state we can identify a few more potential collaborators:

How can the best performing large counties (i.e. those with at least 1,000 discharges) help those not doing so well.  The data suggests we might send emissaries from Erie county to share best practices with providers in Suffolk and Oneida counties.

2012 Prevention Quality Overall Composite - Rate of Discharges per 100,000 people vs. NYS Expected rate - Regions with at least 1,000 discharges

2012 Prevention Quality Overall Composite – Rate of Discharges per 100,000 people vs. NYS Expected rate – Regions with at least 1,000 discharges

And in smaller regions (i.e. those with fewer than 1,000 discharges), pairing providers from Cortland or Orleans with those in Cattaraugus and Franklin counties may make a lot of sense.

2012 Prevention Quality Overall Composite - Rate of Discharges per 100,000 people vs. NYS Expected rate - Regions with fewer than 1,000 discharges

2012 Prevention Quality Overall Composite – Rate of Discharges per 100,000 people vs. NYS Expected rate – Regions with fewer than 1,000 discharges (top 5 and bottom 5 counties in this group)

 Well… it sure looks good on paper

We all know that working together toward a common goal can bring about great change, and a high level glance at the data definitely suggests there is opportunity for that here.  However, DSRIP and the entire NYS healthcare system have some big hurdles to overcome.  It will be interesting to see how well providers and competing hospital systems can actually work together in practice.  Only time will tell, but CMS and NYS are betting big that it can happen.


Open Data Sets used:


Get Unstuck in Web Development

I would love to say that I always know exactly what I’m doing, but then I would be lying. Even though I’ve been building web sites for over a decade, I still need to look things up and I still face challenges that I need help to overcome. Over the years, I’ve found a few resources that I consistently turn to when I need clarification or I’m stuck.


I know that there are some critics out there, but W3Schools was one of the first resources that I relied upon when I began learning HTML and CSS. It’s got a lot of decent tutorials for beginners, but the reason that I still rely upon it is the HTML and CSS references. W3Schools cultivates a list of all HTML elements and their available attributes as well as a list of all CSS properties and their possible values. It may not be the definitive source (that would be W3C), but those lists have proven to be very handy in a pinch.


I know that this seems like a no-brainer, but, like most people, when I encounter an issue that I need help with, I usually turn to Google first. Most of the time, a quick Google search will unearth the solution I need and I’ve even developed some strategies to help dig up those gems. I usually start with the language and then follow it up with the topic that I’m trying to research, such as “CSS clear fix,” “HTML5 section tag,” or “JS print window.”


Often, when I’m searching for a CSS solution, I end up at CSS-Tricks, which I’ve come to highly revere over the last couple of years. Chris Coyier does a fantastic job providing solutions to common problems and outlining their pros and cons.

jQuery APIjqueryapi

I love jQuery’s API, because it’s incredibly robust and includes a ton of great examples. I can almost always find the answers I need just by reading the API entry for whatever function that I’m attempting to employ.

Stack Overflowstackoverflow

Chances are pretty darn good that just about any coding question that I come up with has already been asked and answered on Stack Overflow. Sometimes, Stack Overflow is incredibly helpful and steers me in the right direction and sometimes it’s not ,depending on the quality of the responses, but I love it because it gives developers an easy way to discuss a topic with a global community of peers.

Some other fine suggestions

While I don’t personally rely on these sites very often, I’m aware that many of my peers do. If you aren’t familiar with them, they may be worth checking out.

What resources to constantly rely upon?

Changing YouTube Playback Speed

YouTube gives users the option to modify the playback speed of some videos. This is particularly useful in the case of videos that you are obligated to watch (training videos, terrible fan videos, the occasional conference talk, etc.) and want to get through quickly. You have the option to speed a video to one-and-a-half times normal speed and double normal speed. You can also slow a video to half speed or quarter speed, which can be handy when trying to draw out a training-over-lunch session.

In order to make a go of this, you’ll need to use the YouTube HTML5 player, which you can activate at while logged into your Google account. If you worry about browser support (for both the HTML5 video element or the various codecs), the YouTube page will show you what your browser supports. In general, if you are using a current version of your favorite browser then you should be fine.

The opening image shows where the option lives. Sadly, that awesome video of Morrissey and George Michael doing film reviews has been pulled, so instead you can try it out on this video of Hitchcock’s The Lady Vanishes (I reference it in slide 58 of my Selfish Accessibility talk). The video also has closed captions and an audio description so it’s a great example of the accessibility features available for YouTube.

When at a video, click the gear icon at the bottom right and look for the Speed menu. If the video allows you to change its playback speed, it will be there with available options. This will only apply to the selected video. If you know of a setting to have it apply to all videos, please let me know.

If you still aren’t sure where this can handy, just try listening to Thundercats dialogue (particularly Panthro) at normal speed and then again at 1.5× normal speed. To me the difference is dramatic.

4 Easy Ways to Test Responsive Styles in a Desktop Browser

First of all, I feel that I must state the obvious: if you are able to test in a mobile device, then you absolutely should. There’s no true way to understand exactly how your site will look and behave in a browser unless you actually try it.

Unfortunately, there are so many devices out there with differing screen resolutions, pixel densities, and so forth, that you’ll likely never be able to test in them all. It’s practical to have some alternative testing methods at your disposal.

resize-browser#1) Resize your browser

Okay, so this one is pretty obvious, but it’s probably the most practical solution. All modern desktop browsers (Chrome, Safari, Opera, Firefox, IE9+) understand CSS Media Queries so you can simply adjust the width of your browser to see your responsive styles in action.

I generally do my core development and testing in Chrome. Chrome has been the default browser on Android devices for some time now and its rendering engine is based on Webkit, which is what Safari employs. That means by testing in Chrome, even on your desktop, you should get a pretty good feel for how the site will function for a large percentage of mobile users.

Once I have everything in a good state, I also test my responsive styles in all other (modern) desktop browsers  that the site will support, because most of them either have a mobile version (that is similar to the desktop version) or they could be used on tablet or netbook where the responsive styles might kick in.

2) Web Developer Extension

While testing, I also like to periodically check how the site looks at common device resolutions. There is a feature in Chris Pedericks’s Web Developer extension (available for Chrome, Firefox, and Opera) that allows you to view your site at several sizes on one screen.


Under the tools tab in the menu, there is an option for “View Respsonsive Layouts” that will draw the site in IFRAMEs at multiple sizes such as 320 x 480, 600 x 800, and 768 x 1024. You can choose the “Edit Resize Dimensions” option to customize the available resolutions.

I find this particularly useful, because it allows me to quickly see if there are any obvious display issues at common dimensions. Because the extension uses an IFRAME to embed the site, you can use it for local sites, you can navigate right within each layout, and you can use your browser’s developer tools to debug issues.

3) Screenfly

Screenfly by Quirktools is very similar to the Web Developer extension in many ways. It also uses a simple IFRAME embed technique to display your site at different dimensions and, likewise, comes with all of the same advantages. However, it also offers two unique functions that I find to be quite useful.


First, Screenfly breaks down the screen resolutions by device so you can clearly associate the screen resolution with a common device. But don’t be misled, Screenfly does not emulate those devices’ behavior, just their screen resolutions.

Second, Screenfly works off query strings, which means that you can copy the URL from the address bar of your browser and send it to a colleague or client to quickly and easily demonstrate how the site will look at a specific resolution (this is how the Algonquin Studios site looks at 768 x 1024 px).

4) Chrome’s New Emulation Functionality

Honestly, I haven’t tried this out too much, but Chrome recently added a new feature to their Developer Tools that allows you to specify any number of rendering options, including screen resolution, pixel ratio, and media type. It also allows you to spoof user agents.


I can’t speak to how useful this tool is in reality, because I just haven’t had an opportunity to try it out, but it certainly seems like it could be pretty useful in theory.

Do you have a favorite method for testing your responsive styles? Please feel free to share in the comments thread.

Healthcare Predictive Analytics: Lets take the good and mitigate the bad

In a recent NY Times article titled “When a Health Plan Knows How You Shop“, Natasha Singer gives some thoughtful and important coverage to trends evolving in the field of Predictive Health Analytics.  At its core, the practice intends to provide insights that will help us drive toward the Triple Aim:

  • Improving the patient experience of care (including quality and satisfaction)
  • Improving the health of populations
  • Reducing the per capita cost of health care

Practitioners analyze  data from doctor visits, insurance claims, prescriptions, census records, etc.  That makes sense.  However, Singer points out that patients “may be unaware of the kinds of intimate details about their households that insurers and hospitals may use to try to sway their treatment decisions”.    What happens when hospitals and insurers begin to bolster predictive models with “details on members’ household incomes, education levels, marital status, race or ethnicity, number of children at home, number of cars and so on”?  Not surprisingly, people are getting freaked out.Scale

The most important question in the article was asked by Anita L. Allen, a privacy law expert and the vice provost for faculty at the University of Pennsylvania: “Is the larger mission to improve public health, or to make insurers and hospitals more profitable?”

Improve Public Health?

The more we know about patients’ lives, the better we can focus the finite resources of our healthcare system to improve them.  One of my favorite examples of this comes out of Camden, NJ where Jeffrey Brenner , used data to map “hot spots” of health care high-utilizers—and found a better, cheaper way to treat these costly patients through collaborative care. Brenner’s team was able to reduce hospital visits and costs by 40 to 50 percent.

Looking at tangential and seemingly unrelated data points on a large scale will allow us to spot trends and develop models.  When we apply details of an individual’s life to those models, we can identify high-risk patients and coordinate outreach before they end up in the ER.  The idea is not to cut expensive or less profitable patients out, but rather to care for them in a more-proactive way that reduces or eliminates their need for expensive hospital visits.

Make Insurers and Hospitals More Profitable?

This is the one that makes people uncomfortable, and understandably so.  No one wants details of their personal lives to be exploited for profit.  Also, Singer points out the concern that targeted marketing campaigns based on this info could “ultimately result in the inequitable provision of medical care”.   The experts argue that by focusing on “high-value” customers and procedures, providers might be pushing out “ailing, poorly insured patients.”

Since we live in a capitalist society with a free-market healthcare system, its important that we understand and accept the fact that the profit motive will always be at play.  As patients and consumers, we have tools to influence how far things go and I think we can find guidance in the way scientist and Pulitzer Prize winning author Jared Diamond approaches environmental issues.  In his book Collapse, Diamond points out that in our system, particularly with publicly traded companies, the executives have a fiduciary responsibility to maximize share-holder value by all legal means. It could actually be considered ILLEGAL for them to NOT do something to increase profits even if there’s some ethical grey area around it. Rather than get mad about it and throw our arms up in the air, he suggested its our responsibility as consumers (patients) to put pressure on the business (hospitals and insurers) by refusing to do business with “shady” operators and to put pressure on our elected officials to enact laws that protect us.  Easier said than done for sure, but the value we can derive from predictive analytics in healthcare is worth fighting for.

The Answer is Clear

Predictive Healthcare Analytics is about achieving the triple aim. Its about improving people’s lives.  Let’s not throw the baby out with the bath water  As a society, we need to allow the Jeffrey Brenner’s of the world to analyze data and take actions that clearly impact people’s lives and health for the better AND we need to do so in a way that protects us from the practitioners with less noble intentions.  I for one am willing to fight the fight. Who’s with me?

Understanding Browser Settings and Features – Internet Explorer’s Content Advisor

Cross-platform and cross-browser compatibility are key components of a successful application. This compatibility allows you and your application to reach a variety of audiences and markets. Companies (and developers!) sink significant time into browser and platform testing in an effort to provide application features across a variety of platforms.

With browser testing in mind, developers need to understand features and functionality built into the browser in order to ensure your application features function as expected. It would be an oversight on the developer’s part to complete browser testing without testing against specific browser features. One of these features, Internet Explorer’s Content Advisor, is the focus of the post. The “got-ya” for browser testing with this feature is not what it does; it’s how it does it.

IE’s Content Advisor allows you to control the types of Internet content that can be viewed on your computer. It gives control to parents and office managers who want to control what content / sites their kids / employees have access to.

One of the side-effects of Content Advisor being enabled is that each request to the particular site will also send a GET request to the root of the site. According to Microsoft, this issue occurs if Internet Explorer does not associate the scripts on a particular Web site with any existing Content Advisor rules. In this situation, Internet Explorer sends a GET request to the root of the Web site to locate the configuration file for the rule (NOTE: This explanation is for IE 6, however, I have seen this same behavior in newer versions of IE). See the screen shot below demonstrating the functionality. The screen shot is from IE 9 with Content Advisor enabled. As you can see, after the initial redirect click, there is a GET request to the root of the site.

IE Content Advisor

This is a screenshot of a request with Content Advisor enabled.

This additional request to the root of the site should make you think – what does the default page of my application do? Does it clear your user’s session, login or cookie? If so, users may be unexpected logged out of the application. Does it capture analytic data? If so, you may see falsely skewed numbers from users with this feature enabled.

Once you’ve understood the feature, it’s time to determine if you support it. In the event that you do not support the feature, it should be very clearly stated in your application, and if possible, display a message to the end user that functionality is not working because they are using an unsupported feature.

Learn more about Content Advisor here. As a final note, Content Advisor is not available by default in versions 10+ (It can be enabled through Windows’ Group Policy Editor).


Verizon Using Disabilities to Fight Net Neutrality

This post originally appeared on my blog.

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.

Keep the Focus Outline

This post originally appeared on my blog.

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?