Browser and device support

Do websites need to look exactly the same in every browser? Of course not.

Realism

It is vital that we and our clients accept that web pages cannot and will not render uniformly in all browsers. There's nothing wrong with using all the latest tricks supported by newer browsers, so long as we still allow users on older browsers/devices to access the basic content.

We therefore take a graded approach to browser and device support. "Support" does not mean that everybody gets the same thing, nor does it mean that people outside of the specific devices/versions ranges we mention will not be able to access the content. However we rationalise "support" to a specific list so that we can test effectively.

A useful summary for statements of work:

We develop frontend experiences against a browser support list. While we aim for similar results across modern "HTML5 browsers", owing to the natural variation of browser and device capabilities, the visual design and experience will differ between them. We will actively support and test Internet Explorer 9+ plus the latest stable versions of Firefox and Chrome (both Windows and Mac OS) and Safari (Mac OS).

Our browser and device list

We maintain a default testing list of browsers and mobile devices. Any additional requests beyond this and we need to factor additional time and complexity into our estimates.

By "support" we actually mean "we will test on this device or in this browser".

HTML5 browsers

All functionality will work, content is readable, variations are minimal but acceptable.

Desktop browsers

  • Chrome (latest version; Windows and Mac OS)
  • Firefox (latest version; Windows and Mac OS)
  • Safari (latest version; Mac OS)
  • Internet Explorer 9 (Windows 7)
  • Internet Explorer 11 (Windows 7)
  • Edge (Windows 10)

Release cycles or Chrome, Firefox and Safari are so short that testing against all but the latest version is impractical. Chrome and Firefox auto-update so we test with the latest auto-updated stable version. Do not test with Canary/nightly releases.

Projects or products delivered are tested against latest stable version but we cannot ascertain the quality on further future browser version upgrades. It is deemed to be working fine against latest stable version at the time of release.

Devices

The mobile landscape is huge, so we test on the most common devices.

  • Most used iPhone and iPad devices using iOS latest, default Safari browser
  • Most used mobiles and tablets using Android 4.4 and 5.latest, default Chrome browser
  • Windows Phone 8 (Internet Explorer 11)

Excluded

By default we do not test against these browsers, nor do we consider them during development. Supporting these may require significantly re-thinking our technical approach.

  • Blackberry devices
  • Internet Explorer 6–8, 10
  • iOS 8 or older
  • Android 4.4 or older

Responsive design and legacy browsers

Graded browser and device support is even more important in a responsive world. It is vital that we communicate legacy support early on in a project's life to set expectations.

There are specific things that won't work in "HTML4" browsers:

  • Media queries. Responsive design is not possible so we will not attempt it.
  • SVG. If used we will serve vector images such as icons as PNGs to older browsers with the overhead of maintaining two sets of imagery.
  • CSS3. Rounded corners and gradients are not possible. To maintain performance, we will not revert to images to achieve these effects.
  • Animation. Where non-essential animation using CSS3 is used, we will not revert to JavaScript to achieve these effects.