What we're thinking

Over more than two decades, technology has changed, our team has changed, and our minds have changed, over and over again. But we're always thinking about better ways to present information, streamline workflows, and support every user. Welcome to our blog.

(Looking for our open-source code? We've archived it.)

Building forms with custom elements

A roundup of the current state of custom form elements, useful APIs, and a checklist for ensuring your forms actually work.

Practical accessibility, part 2: Name (almost) everything

Naming elements and components is essential for an accessibile and usable experience. And it's harder than it looks.

Practical accessibility, part 1: Markup semantics & ARIA

First in a series of posts on coding practices that are essential for delivering an accessible experience.

HTML Video Sources Should Be Responsive

HTML video currently offers no means for specifying multiple video sizes. It should.

One web component to rule them all?

In this post, Scott talks about using the web component lifecycle to delegate simple JS additions.

We need more inclusive web performance metrics

Performance metrics are improving, but few tell us when a page is ready for *all* users.

Lightning-Fast Web Performance, an online course

Scott will be releasing his workshop as an online course.

Move Fast & Don't Break Things

An annotated transcript of Scott's 2019 Conference talk.

ASPIRE: Ideals to Aspire to When Building Websites

Ideals raise the bar. Acronyms are handy. Both are here.

5G Will Definitely Make the Web Slower, Maybe

Faster networks should fix our performance problems. Instead, they're making them worse.

Two Browsers Walked Into a Scrollbar

Scrollbars are design-heavy. How do we customize them in the lightest way possible?

The Simplest Way to Load CSS Asynchronously

CSS will block rendering while loading. Here's how not to do that, simply.

Shifting the Performance Burden

We're shifting the performance burden from the network to the device.

HTML Includes That Work Today

We've long desired an easy means of including markup into the page. Perhaps this will do it.

Tuning Performance for New and “Old” Friends

We now configure our sites to vary based on custom headers instead of cookies. Yay!

Toronto! Lightning Fast Web Performance Smashing Workshop Announced

Join Scott in Toronto for a front-end web performance workshop.

Build your own Blog from Scratch using Eleventy

Get up to speed and productive with Eleventy, a flexible static site generator.

Styling a Select Like It's 2019

We're living in the future: you can now directly style a select element with no need for JS or wrapper elements.

Should I Use JavaScript to Load My Web Fonts?

Are JavaScript methods to load web fonts necessary? Are they useful? Let's dig into the state of the art.

A/B Testing at the Edge with Servers Workers

Client-side A/B testing is dog slow. We wanted to explore using service workers to transform markup on the edge.

Second Meaningful Content: the Worst Performance Metric

Client-side tools for A/B testing and personalization can take a huge toll on performance, introducing huge delays.

Inlining or Caching? Both Please!

Mission Critical: optimizing CSS for CDN

Labels Required

Swapping Images with the Sizes Attribute

It's Dangerous to Go Stallone. Take Glyphhanger

Web Fonts are ▢▢▢ Rocket Science

The Spectre Attack and Critical CSS

Can Preload Cut the Mustard?

Accessible Links Re:visited

Modern Asynchronous CSS Loading

Keep It Snappy

Presentation: Accessibility in a Responsive World, A11Y Days 2017

Layersnap! Markup-driven SVG Animations

Maintaining Accessibility in a Responsive World

Modernizing our Progressive Enhancement Delivery

I Wanted To Type a Number

Snapper: A CSS Snap Points Carousel

Enhancing Optimistically

Delivering Responsibly

Filament Group Wins Agency of the Year at 2015 Net Awards

More Weight Doesn't Mean More Wait

How We Load Web Fonts Progressively

Introducing Grunticon 2! Style & Animate your SVGs

How we use web fonts responsibly, or, avoiding a @font-face-palm

Researching the Performance costs of JavaScript MVC Frameworks

Responsible Responsive Design by Scott Jehl

WOFF2 See the Wizard, a Wonderful JavaScript Feature Test

To Picturefill, or not to Picturefill

Congrats, Wilto

Tablesaw - A Flexible Tool for Responsive Tables

How we make RWD sites load fast as heck

Load CSS or JS Files Simply & Asynchronously

Tappy: A custom tap event handler

Artifact Austin - Leaving Pixels Behind: A Vector Workflow for Designers

Politespace, an unobtrusive alternative to input masks

Picturefill 2.0: Use the picture element today

So, You're Writing A Responsive Images Script

Bulletproof Accessible Icon Fonts

Responsive Images 2013 Year-End Update

Grade components, not browsers

A Designer's Guide to Grumpicon

Introducing Grumpicon: A web app for easy SVG development

Working around a lack of element queries

Chatting with Adobe about Responsive Design and BostonGlobe.com

SocialCount, a jQuery Plugin for Lighter & Faster Social Networking Widgets

The `main` element

Compressive Images

Grunticon: A Grunt.js plugin for managing and delivering sharp icons to all devices

The Two HTML Specs

Responsive Carousel Project: Now Open Source

On ems and rems

How we learned to leave default font-size alone and embrace the em

SouthStreet: a workflow for Progressive Enhancement, presented at An Event Apart Boston

A different approach to qualifying CSS position: fixed

Device & browser quirks: tracking the weirdness

An Ajax-Include Pattern for Modular Content

A Responsive Design Approach for Navigation, Part 1

W3C Launches Responsive Images Community

Overthrow: An overflow polyfill for responsive design

Filament Group's Open Source Code Repositories

A Fix for the iOS Orientationchange Zoom Bug

A Responsive Design Approach for Complex, Multicolumn Data Tables

jQuery Mobile 1.0 Released

Future-Friendly: Forward-Thinking Thoughts on Web Development

Slides from jQuery Mobile State of the Framework 2011, Todd Parker & Scott Jehl

Slides from Responsive & Responsible, Scott Jehl, Breaking Dev 2011

Introducing the new responsive-designed BostonGlobe.com

jQuery Mobile Pagination Plugin

Filament Group's Scott Jehl to Give jQuery Mobile Workshop at dConstruct

Filament Group's Scott Jehl to Present at Breaking Dev

Ethan's New Book

Respond.js now available in Modernizr

Respond.js: No Comments Necessary

Slides from jQuery Mobile: Building Tools for a Changing Web, Mobilism Conference 2011

Slides from our jQuery Conference Presentation on jQuery Mobile

Filament Group to Present jQuery Mobile at jQuery Conference and Mobilism

Corresponding on Responsive Design

Building with jQuery Mobile: Slides from a talk by Todd Parker and Scott Jehl

Respond.js: Fast CSS3 Media Queries for Internet Explorer 6-8 and more

Responsive Images: Experimenting with Context-Aware Image Sizing

Dingbat Webfonts: Great potential, but we see (and hear) accessibility issues

jQuery Custom File Upload Input: from the book Designing with Progressive Enhancement

Slides from Voices That Matter: Designing with Progressive Enhancement, Todd Parker

Slides from Voices That Matter: Optimizing for the Mobile Web, Scott Jehl

Using Internet Explorer Conditional Comments with EnhanceJS

Expand and collapse content accessibly with progressive enhancement, jQuery, and ARIA

Update to jQuery Visualize: Accessible Charts with HTML5 from Designing with Progressive Enhancement

jQuery accessible ARIA tree control: from the book Designing with Progressive Enhancement

Introducing EnhanceJS: A smarter, safer way to apply progressive enhancement

Announcing our book: Designing with Progressive Enhancement (Peachpit)

Filament Group's chapter on Theming in O'Reilly Media's “jQuery Cookbook”

Filament Group's Visualize canvas charting technique demonstrated at FOWA London

jQuery Conference 2009: The jQuery UI CSS Framework and ThemeRoller

Presenting “Rich UI Design: An Access-Oriented Approach” at Delve:UI Conference, NYC

Accessible, Custom Designed Checkbox and Radio Button Inputs Styled with CSS (and a dash of jQuery)

jQuery UI Selectmenu: An ARIA-Accessible Plugin for Styling a Custom HTML Select Element

Update: jQuery Plugin for Retaining Scalable Interfaces with Pixel-to-Em Conversion

Access-Oriented Web Design: Building highly-interactive web apps that work for everyone

Update: Styling the Button Element with CSS Sliding Doors - now with Image Sprites and IE 8 Support

jQuery UI Slider from a Select Element - now with ARIA Support

jQuery Menu: Dropdown, iPod Drilldown, and Flyout styles with ARIA Support and ThemeRoller Ready

SXSW 2009: We're Texas-Bound!

jQuery UI 1.7 Now Released!

Image-free CSS Tooltip Pointers - A Use for Polygonal CSS?

jQuery Plugin for Requesting Ajax-like File Downloads

Using Multiple jQuery UI Themes on a Single Page

Introducing the ThemeRoller Firefox Developer Bookmarklet

Filament Group's ThemeRoller selected as a finalist in 2009 SXSW Web Awards

Styling Buttons and Toolbars with the jQuery UI CSS Framework

Achieving Rounded Corners in Internet Explorer for jQuery UI with DD_roundies

Date Range Picker using jQuery UI 1.7 and jQuery UI CSS Framework

Filament Group a jQuery UI Sponsor and Design Team Lead

jQuery Camp 08 Presentation: Designing Reusable jQuery Components

A List Apart: Test-Driven Progressive Enhancement

Setting Equal Heights with jQuery

Develop Your Own jQuery “ThemeRoller-Ready” Components

Introducing ThemeRoller: Design & Download Custom Themes for jQuery UI

Update: A New & Improved jQuery Script to Automatically Preload images from CSS

Markup & Style Society recap