Performance & Accessibility: Let's Open Source That

Snapshot of a Drupal theme project information block with accessibility and performance ratings added

Update, 2/3/2017: Damien McKenna started an issue on about adding an accessibility tag or rating to Drupal projects. Thanks, Damien!

I'm dashing this off because I just read Ethan Marcotte's post "Free, faster". In his post, he's talking about a problem that we deal with all the time in our work with nonprofit organizations. And due to the political climate, we're dealing with it even more than usual right now.

The problem is that many nonprofit organizations need a website, but many cannot afford the cost of a complete design process and ground-up custom front-end theme build. So many organizations reach for an "off-the-shelf" pre-made theme that they can customize themselves, or with limited help from a designer and/or developer. This is particularly common in WordPress, where there is a robust off-the-shelf theme marketplace. But it also happens in Drupal, too.

The trouble comes when, as a front-end expert, one starts examining these off-the-shelf themes more closely and finds they vary greatly in quality. I'll share here what Ethan found:

On one of these projects, the client had picked a dozen or so prospective themes, which I offered to audit. While most of the designs touted their responsive layouts, they often had a raft of issues on devices that were older than a year or so. ...

Equally troubling was how slow most of these themes were. ... [On] a 3G connection, the slower themes I tested took anywhere from 45-90 seconds for any content to appear. In other words, the pages took roughly a minute before they were usable. From that point, additional code would continue to download from that point, adding to the already-high cost of downloading that page over a metered data connection.

Nonprofits often want to have websites that are accessible as possible to all their users, including those who may not have desktop computers, people who may have mobile data plans with expensive caps, people who may have low vision or use screen reader software, or who may not be able to use a mouse. Quality code, including semantic HTML, progressive enhancement, and responsive layouts are all essential ingredients in keeping websites accessible.

Unfortunately, nonprofit organizations are often the least likely to be able to afford to pay specifically for accessibility. How do we usually deal with this? At DevCollaborative, we constantly work on baking best performance and accessibility practices into everything we do. We don't always get it right, or even close to AAA perfect, but we try to start from the best possible place. In our Drupal 7 work, that means we've standardized our custom builds on community-vetted and tested base themes that prioritize semantic markup and accessibility.

Now that we are starting more Drupal 8 and WordPress work, and getting more requests from organizations who really could benefit from a cheaper, quicker, pre-baked design in any platform, I'm once again researching accessible starting code, for both new custom Drupal 8 work, and off-the-shelf projects in both platforms. And it's a jungle out there. Drupal 8 is new, and the WordPress theme scape is massive. Ethan suggests this fantastic idea:

Many of these CMS themes and plugins are distributed through galleries and marketplaces. For example, WordPress has their own official Theme Directory and Plugin Directory, but there are many, many third-party clearinghouses out there. I’d love to see performance added as a ranking factor on these sites, even if it’s to flag “fast” themes/plugins against “slow” ones.

I'll take that a step further. I'd love to see both of these open source platforms, as well as their theme marketplaces, add performance and accessibility rankings as standard. This would provide an true open source opportunity for those who can afford to build for accessibility, or for those who have the time and expertise to test existing code, to share what they find back with the community. It would be incredibly valuable for me to look at Drupal and WordPress themes (and modules, and plugins, for that matter), and to filter and/or sort them on accessibility and performance so that I can better advise and build for nonprofits of all sizes.

Content Editors Are Users, Too

Over our years of working with organizations, we've developed some strong opinions about how to make the Drupal content editing forms as helpful as possible. Our colleague Eileen Webb talks about this as "AX" (like "UX", but for content administrators). We think AX is particularly relevant in the nonprofit sector, where there is often uneven funding for technology and extra staff turnover that can result in a loss of org knowledge. Since I find that I'm continually referencing these three A List Apart articles on this topic, I'm going to stash them here on our blog for efficiency's sake. 

The Drupal Three Year Plan

We keep hearing this question: "Should I build in Drupal 7, or Drupal 8?" The answer to this question will differ depending on your organization's needs and your project goals. But here's one thing we can tell you: right now, if you build in Drupal 7 *or* Drupal 8, you should do so with a sound content strategy and a three-year plan.

Presentation from Design 4 Drupal Boston 2014

Johanna and I just came back from Design4Drupal 2014 at the MIT Stata Center. I've been going to this Drupal Camp for several years, but this year certainly had the most informative and well-rounded set of sessions. I particularly enjoyed Steve Fisher's (@hellofisher) keynote with takeaways like: "Good user experience is connecting the head and the heart" and "Silos are for farming, not web design". 

Where We'll Be at the #14NTC

Erin and I will be at the 2014 NTEN NTC next week in Washington, D.C. We're going to helping with Drupal Day on Wednesday. I will also be doing a breakout session about diversity, accountability, and empowerment in nonprofits and the nonprofit tech community with amazing co-presenters Ivan Boothe, Shireen Mitchell, Sloane Davidson, and Aliya Rahman. If you're going to be there, let us know. We'd love to say hello in person!

Style Tile Success

If you've ever been here before, you may notice that the site looks totally different. We started DevCollaborative in January 2013. The three of us were already working together, and had been in various forms for some years, but we decided to team up under a common name to make it easier to think and talk about ourselves as a team as we worked to develop more unified processes, better collaboration techniques, etc.

CKEditor & Responsive Images

Ah yes... WYSIWYG editors (or as I prefer to more accurately call them, "rich text editors"). As you can see, I'm not their biggest fan. There are lots of reasons why they're troublesome, but I'll save that for another post. I wanted to quickly share a problem we came up against yesterday with a site we're about to launch, and its solution.

Recurring Memberships in Drupal 7

Building a membership site in Drupal isn't so hard, really. The challenge is to have memberships that include recurring fees. That is, a membership that automatically renews, and the member pays automatically. There are several reasons why this is hard. Some reasons include the payment processor - not all payment processors support recurring fees. But mostly, it's the tools we have available that are limiting in their options. But it is possible, though difficult, and fraught with peril.

Why Nonprofit Developers and Decision-Makers Should Track Backdrop

When I first heard the news that there was a Drupal fork, I was pretty surprised and doubtful. Then I heard who started the fork (Nate Haug and Jen Lampton, really respected Drupalers), and I got a lot more interested, really fast. I've been playing with Backdrop now for a couple of weeks, and have even contributed some pull requests. It's helped me understand better the rationale behind the fork, and helped me think about what might happen moving forward.

DrupalCon PDX Favorite Picks

We haven't posted in way too long because we've been busy building some cool new sites, including this responsive beauty: (design by the talented Carey Otto). And then Michelle and I went to DrupalCon Portland.

5 Days Left to Replace Your Twitter RSS Feed in Drupal

  If you haven't heard, Twitter RSS is officially dead on March 5, 2013 (here it is in Twitter-corporate-speak; Mashable translation). If you're using Aggregator to pull a Twitter RSS feed into your Drupal site for pretty stylin', then you have to act now. The process for replacing the RSS feed is annoying, but not impossible. I've done it a few times now.


Subscribe to Blog