Links

Page 1 of 46
  1. WAI-ARIA Authoring Practices 1.1

    This document provides readers with an understanding of how to use WAI-ARIA 1.1 [WAI-ARIA] to create accessible rich internet applications. It describes considerations that might not be evident to most authors from the WAI-ARIA specification alone and recommends approaches to make widgets, navigation, and behaviors accessible using WAI-ARIA roles, states, and properties. This document is directed primarily to Web application developers, but the guidance is also useful for user agent and assistive technology developers.

  2. [Insert Clickbait Headline About Progressive Enhancement Here], From the Notebook of Aaron Gustafson

    In a lengthy response to a hyperbolic, ill-informed opinion piece, Aaron Gustafson describes progressive enhancement:

    It’s a philosophy that recognizes the nature of the Web as a medium and asks us to think about how to build products that are robust and capable of reaching as many potential customers as possible. It isn’t concerned with any particular technology, it simply asks that we look at each tool we use with a critical eye and consider both its benefits and drawbacks. And it’s certainly not anti-JavaScript.

    I spent a good deal of time in 2015 writing and speaking on the benefits of this approach to designing and building for the Web:

    The observant reader would note that Aaron and I address the same tenuous arguments made—coincidentally—by the same people.

  3. Adactio: Journal—The imitation game

    Jeremy, on how he thinks about building progressive web apps:

    In my opinion, the term “progressive web app” can be read in order of priority:

    1. Progressive—build in a layered way so that anyone can access your content, regardless of what device or browser they’re using, rewarding the more capable browsers with more features.
    2. Web—you’re building for the web. Don’t lose sight of that. URLs matter. Accessibility matters. Performance matters.
    3. App—sure, borrow what works from native apps if it makes sense for your situation.

    He also links to Jason Grigsby’s Designing Responsive Progressive Web Apps which is another great read.

  4. How did Hitler rise to power?

    Decades after the fall of the Third Reich, it feels impossible to understand how Adolf Hitler, the tyrant who orchestrated one of the largest genocides in human history, could ever have risen to power in a democratic country. So how did it happen, and could it happen again? Alex Gendler and Anthony Hazard dive into the history and circumstances that allowed Hitler to become Führer of Germany.

    Jason Kottke shared this excellent video which gives a high-level overview of Hitler’s rise through the ranks of German government in the run up to World War II. As chance would have it, I’ve recently been reading up on the very same subject (thanks, Wikipedia).

    The video is part of a TED-Ed lesson that includes additional links and resources.

  5. Homebrew Website Club DC 4/20/16

    Are you building your own website? Indie reader? Personal publishing web app? Some other digital magic-cloud proxy? If so, come by and join a gathering of people with like-minded interests. Bring your friends that want to start a personal web site. Exchange information, swap ideas, talk shop, or help work on a project.

    After a brief hiatus, Homebrew Website Club returns to LivingSocial next week. Come on by, share what you’re doing with your personal website, and learn about what others are doing with theirs.

  6. Removing Headaches from Focus Management | Google Developers

    An exciting accessibility change is coming to Chrome 50. Google calls it “focus starting point” and it’s a small—but incredibly helpful—change to how their Web browser manages focused elements and tab order.

    If something has focus, it’s also the focus navigation start point, just like before. Also, just like before, if nothing else has set the focus navigation start point, then it will be the current document or, if available and supported, the currently active dialog. If we navigate to a page fragment like in the example above, that will now set the focus start point. Also, if we click any element on the page, regardless of whether it is focusable, that will now set the focus navigation start point. Finally, if the element which was the focus start point is removed from the DOM, its parent becomes the focus start point. No more focus whack-a-mole!

    As the article explains, prior to this change, focus management can be difficult when tabbing around and moving within a document (or into and out of modal dialog boxes). Take heed of the note in the article’s caveats section:

    Sequential focus navigation starting point is currently only supported in Chrome 50, Firefox, and Opera. Until it is supported in all browsers you’ll still need to add tabindex="-1" (and remove the focus outline) to your named anchor targets.

  7. Answers to Questions About Performance — Google Developers — Medium

    Google’s Paul Lewis answers the same questions that Matt Gaunt received (and that I previously linked to). Paul’s focus on the user and their experience of our work resonates strongly with me and is something I harp on quite frequently.

    I think performance, accessibility, and security share some traits: they can’t be retro-fitted to a project, they’re often thankless tasks, and they’re only notable by their absence. They’re all, however, the bedrock of a good user experience, onto which you can layer high quality designs and interactions.

    Paul also cites one of my favorite documents, the W3C’s HTML Design Principles:

    In case of conflict, consider users over authors over implementors over specifiers over theoretical purity.

    Truth.

  8. Web Development is a Balancing Act — Medium

    Google Chrome Developer Advocate Matt Gaunt publicly answers some Web performance-related questions he received. Many of the questions have to do with frameworks, a topic of great interest to me.

    A slow website, no matter how it’s built, means someone didn’t notice, didn’t care or couldn’t fix the problem. That doesn’t mean the framework or tools used to build it is the problem, it could be the way those tools have been used.

    It could also be that the chosen tool isn’t the best solution to the problem at hand.

Looking for more great links organized by year? Browse the archives.