Composr Tutorial: Browser version requirements
Written by Chris Graham
This is a tutorial that details the default browser requirements for visitors to a Composr site. It also contains a lot of historical information, as understanding the development history is useful for understanding the current browser landscape.The browser wars
Early days:In the beginning the only mainstream web browser was Netscape Navigator. Microsoft soon realised it needed a browser too, so launched Internet Explorer.
Heavy competition:
Towards the end of the 1990s, after Microsoft started seriously competing with Netscape rather than only matching it, there was a very fast period of Internet development. Microsoft and Netscape both created technologies and submitted them to the W3C for standardisation, and the two browsers developed head-to-head, until Netscape essentially went out of business due to loss of sales when Internet Explorer was bundled with Windows and all ISPs switched to supporting it instead of Netscape Navigator.
The transitory years:
Once Netscape was truly 'buried', Internet Explorer essentially stagnated for many years, left with a lot of rough edges with respect to the standards the W3C had designed and moved forward in the interim. Somewhat in the sidelines, Netscape was rebuilt in Open Source as a browser framework designed specifically to standards (packaged as Mozilla, and then Firefox), and browsers such as Opera and Konqueror also got developed to be of a similar quality. Konqueror essentially became Safari after Apple got involved (Microsoft stopped supporting Mac OS). The renewed competition, and the time for 'the dust to settle' provided the environment for a movement for websites to strictly be designed such that the web technologies they use draw on W3C/JavaScript standards only. This left an environment where Internet Explorer was clearly seen to be inferior in terms of standard compliance, and browser compatibility.
Microsoft returns:
As Microsoft woke up to their popular competition from Firefox, they sped up their development again: releasing Internet Explorer versions 7 through 11, then the new 'Edge' browser.
Google dominates:
Parallel to Microsoft speeding up, Google Chrome (based on Safari's Webkit code) came along and ate up significant market share from both Firefox and Microsoft. Google Chrome now has a big lead because it is a high quality cross-platform browser, heavily promoted by Google. Google forked Webkit to create the Blink engine. Opera threw out their own engine and started using the Blink engine. Microsoft eventually followed suit.
Supported browsers
Composr is designed to work on all serious modern browsers:- Microsoft Edge (maintenance status) (latest version †) (EdgeHTML/Chakra engine)
- Internet Explorer (maintenance status) (common versions †††) (Trident/Chakra engine)
- Firefox (maintenance status) (latest version †) (Gecko/SpiderMonkey engine)
- Safari (maintenance status) (common versions ††) (Webkit/JavaScriptCore engine)
- Google Chrome (maintenance status) (latest version †) (Blink/V8 engine)
- Android legacy browser (maintenance status) (common versions ††) (Webkit/JavaScriptCore engine)
- Android Chrome browser (maintenance status) (common versions ††) (Webkit/JavaScriptCore engine)
- Mobile Safari (maintenance status) (common versions ††) (Blink/V8 engine)
† These browsers auto-update, so we support the latest versions only.
†† We officially support the last two releases of these browsers. In practice we are likely to accept bug reports for older browsers if they are still widely used by relevant demographics.
††† As Microsoft Browsers are particularly widely-used and inflexible we are more explicit about what we will support. Officially it is still the last two releases, but we will accept bug reports for IE11. The exact supported versions will change over time, as install bases change, and also according to Microsoft EOL policy, and this tutorial can be updated accordingly.
We do not explicitly support the following browsers, but will generally accept bug reports for them:
- Chromium (the Open Source version of Google Chrome)
- Opera (a browser with a long history, now based on Blink/V8)
- Konqueror (an important browser on Linux, the originator of Webkit)
- Waterfox, Iceweasel, Pale Moon, SeaMonkey (alternative Gecko browsers)
We also provide support for high quality text-mode browsers such as 'Lynx' and browsers designed for people with disabilities. The inherent nature of this support is that it is partial support for an 'accessible' experience, rather than a 'whizz-bang' experience.
Browser testing
Browser testing presents the following difficulties:- A machine can only have one Microsoft browser installed.
- To test on mobile devices you really should test on a proper mobile device to get a real feel for things.
- Safari only works on Mac OS, so you need a Mac.
- Microsoft Edge only works on Windows, so you need a Windows install.
- On browsers such as Google Chrome, operating system font rendering differences may mean things lay out slightly differently on different operating systems.
There are a number of approaches that can help you with the above problems:
- Google Chrome has excellent device emulation, for quick/earlier testing for different mobile devices (not a substitute for proper testing).
- Microsoft Edge lets you run in compatibility modes to test on earlier versions of their engines (imperfect, but useful).
- Virtual Machines let you test different Internet Explorer browsers without needing separate physical machines. They come at a hefty download size though, uses lots of disk space, and using VMs means lots of RAM usage.
- You can use a commercial online testing system like BrowserStack. BrowserStack host virtual machines for you in the cloud so that you don't need to maintain your own VMs. You can also automatically take mass-screenshots across many devices, and also run automated JavaScript testing (for developers).
JavaScript
Composr requires JavaScript to be enabled for the default theme and for administration screens. Themers may opt to use our JavaScript-detection functionality to cater to users with JavaScript-enabled if desired.Previously we supported JavaScript as disabled, but realistically all modern websites (YouTube, Facebook, etc) require JavaScript, so to provide a competitive modern experience we do need it. The ARIA standard allows JavaScript-heavy sites to remain accessible, and print stylesheets can ensure web pages still print effectively.
Cookies
Composr does not require cookie support (maintenance status), although it is recommended. To at least have 'session cookies' enabled is strongly recommended, as otherwise Composr will need to carry additional data along in the URL.Desktop settings
A screen-resolution of at least 1024×768 is strongly suggested, as this is the minimum resolution that we design the default theme for.Printing
It is not usually appropriate for a printed webpage to look like it does on the screen. For example, margins would want removing from each side of the site, social media links should not show, background images should be disabled, and so on.There are 3 approaches to solving this problem that work together:
- Browsers automatically disable background images, when printing
- CSS provides a mechanism for specifying different display rules for the printed version; Composr makes use of this (maintenance status)
- Composr has a parameter, wide_print, that will influence some aspects of how pages are put together
The Composr wide_print parameter is activated from either:
- The link from the side_printer_friendly block
- The link from the main_screen_actions block
- Or, a link you've put together yourself
See also
- Helping improve site accessibility for disabled users
- Introduction to Cookies and sessions (and JavaScript)
- Guide to web technologies (including HTML, CSS, and JavaScript)
- Supplementary web technologies (media, social networking, etc)
- Using Chrome development tools to help with themeing
Feedback
Please rate this tutorial:
Have a suggestion? Report an issue on the tracker.