How to test Browser Compatibility for HTML5
By Krishna Tej, Community Contributor - April 7, 2022
User experience is the key to customer satisfaction and retention that brings all the focus on how the application appears and functions. HTML plays a major role in the UI of the web application. Hence with the growing expectations of users, demand for new advanced features of different elements on a webpage has increased. HTML5 enhances the UI elements via its new features and additional support to enrich the user experience offered by the webpage elements.
Introduction of HTML5 standard
HTML has evolved over the years with new features and support added for different elements on the webpage with every release. HTML5 is the latest version of HTML used on all web pages today. It was introduced in 2014 with the idea to support multimedia features, including various new tags, form element tags, geolocation tags, etc.
HTML5 supports the existing markups while introducing new markups and APIs for complex web applications. It is meant to subsume older versions for backward compatibility with older web applications. W3C maintains standards so that all browsers have a common standard to follow, making end-user experience consistent across browsers.
Read More: How to test on older browser versions easily
Why use HTML5?
HTML5 has been introduced to support complex web applications with advanced multimedia element support. It offers a lot more new tags and support elements such as form, semantic features along with many others. Some of the key features that make HTML5 user-friendly are:
- Cleaner code structure: In earlier HTML versions, only the div tag was used across the webpage which didn’t make it clear for the browser in terms of semantics. Thus many new semantic tags like header, footer, section, article, etc were introduced in order to avoid confusion in the code.
- Inbuilt audio and video compatibility: HTML5 now comes with audio and video tags that support playing media on your web pages along with many features built into these tags.
- Form features: HTML5 has input and search fields that help to build better experiences for users.
- Storage capability: HTML5 helps to use session storage and local storage to store data on the browser. It also has an application cache and web SQL storage.
- Game development: HTML5 introduces the canvas element, which helps immensely with game development owing to its popularity among users.
Browser Compatibility for HTML5
Browser compatibility is essential for users to have a consistent experience as they operate across different browsers, platforms, and devices. While the new features of HTML5 do support some of the older browser versions partially, it is essential to understand how these features can be leveraged to offer a seamless experience. The browser versions’ support for various features is analyzed using Caniuse.com as shown below:
Try Cross Browser Testing on Real Devices
Form Features
The new form features of HTML5 also termed Webforms 2.0 have introduced several new type attributes for the <input> element in addition to the ones already existing for HTML4. These new type attributes include date, datetime, datetime-local, time, week, month, url, email, range, and number.
HTML5 also introduced a new <output> element in the Form, dedicated to generate different types of outputs for the forms.
Several other new attributes added as Form Features include list, placeholder, autofocus, slider, autocomplete, pattern, required, multiple, novalidate, and formnovalidate.
Using Caniuse for HTML5 Form Features to understand how these new form features are supported by various browser versions as shown below.
It can be observed that Chrome, Edge, Opera, Samsung Internet, Chrome for Android, Opera Mobile, and QQ Browser supports the new form features. However, IE, Firefox, Safari on iOS, Opera Mini, and Safari offer limited support to the Form features.
Hence it is recommended to perform diligent cross browser compatibility tests beyond chrome on these browsers for identifying bottlenecks and limited capabilities. These limitations can be overcome by tweaking code to match the overall user experience across browsers.
Media Features
HTML5 allows the users to embed Audio and Video in the webpages to make them more engaging and interactive to the users. Using this feature, the user can embed the audio and video without the need of building a video player using the <audio> and <video> tags. This has reduced the effort required for adding media to the webpage.
Moreover, HTML5 videos can be styled using CSS3 using <video> tag. While HTML5 supports various media formats such as MP3, AAC, and Ogg Vorbis for audio, MPEG-4, WebM, and Ogg Theora for video. However, not all browsers support all of these media formats, which is why performing browser compatibility tests is essential.
Media Source Extensions have been created by W3C to standardize the media features across the browsers for enhancing the cross-browser compatibility.
Using Caniuse for HTML5 Media Source Extensions to understand how these new media features of HTML5 are supported by various browser versions as shown below.
It can be observed that older versions across all browsers do not support Media Source Extension, while the newer versions of Safari on iOS, and IE offer limited support.
Semantic Tags
HTML5 semantics are designed in such a way that they offer better accessibility to the users of older browsers while providing a better user experience.
The elements such as <font>, <big>, and <center> that were purely presentational have been dropped off in HTML5. Other semantic attributes that have been removed from HTML5 elements include background and table attributes on <body>, bgcolor on <table>, and align on <img>. Moreover, the <frame> element that caused major accessibility issues have also been removed.
The new semantic elements added in HTML5 include <header>, <nav>, <footer>, <aside>, <article>, <figure>, <figcaption>, <details>, <main>, <section>, <mark>, <summary>, and <time>.
Using Caniuse for HTML5 Semantic Elements to understand how these new semantic features of HTML5 are supported by various browser versions as shown below.
It can be observed that the new semantic elements in HTML5 are largely supported by most of the new browser versions while being partially supported by the older versions. Hence, cross browser compatibility testing can help identify the gaps in partial support, which can be later enhanced by tweaking the code.
Storage Capability
The Web Storage capability of HTML5 allows the web application to store data locally within the browser on the client-side. This data stored in the form of key/value pair is similar to that of cookies storage but faster than that and never expires, unlike cookies, since the data is not sent to the server-side. It is also more secure, and one can store at least 5MB of data.
Using Caniuse for HTML5 Web Storage to understand how these new form features of HTML5 are supported by various browser versions as shown below.
It can be observed that the new semantic elements in HTML5 are largely supported by most of the browsers apart from the older versions of a few browsers like Safari, Opera, IE, and Opera Mini.
Canvas Element
HTML5 introduced <canvas> element for enabling the users to draw graphics using JavaScript. While the <canvas> element has only two specific attributes width and height in addition to the core HTML5 attributes, it acts as a container for the graphics. The <canvas> remains blank initially, which requires JavaScript code to draw the graphics in it.
Using Caniuse for HTML5 Canvas Element to understand how the new <canvas> element of HTML5 is supported by various browser versions as shown below.
It can be observed that the new <canvas> element in HTML5 is largely supported by most of the browsers apart from being partially supported by older versions of a few browsers like Safari, Firefox, Android Browser, and Opera Mini, and not supported by older versions of IE.
Handling cross browser compatibility in HTML5
There is a large range of browsers available in the market while a majority of the chunk is taken by
- Google Chrome
- Mozilla Firefox
- Safari
- Opera
- Microsoft Edge
Apart from these, there are many other browsers that users use and it is unnecessary to make web applications compatible with them in order to avoid isolating users that use these browsers and for a consistent user experience across browsers.
HTML5 is now compatible with all popular browsers (Chrome, Firefox, Safari, IE9, and Opera) and with the introduction of DOCTYPE, it is even possible to have a few HTML features in older versions of Internet Explorer too.
Cross Browser Testing on Real Devices
To ensure that the web applications have consistent UX across different browsers and platforms, Cross Browser Testing on a real device cloud is essential. By performing cross browser tests on real browsers and devices, the tester could detect and highlight functionalities in the UX that are inconsistent with specific browser versions, which can later be fixed at the backend.
BrowserStack’s Real Device Cloud allows access to a fleet of 3000+ desktop browsers and real mobile devices, providing wide coverage for Cross Browser & Platform Testing. One can also leverage the power of automation testing to check cross browser compatibility over the BrowserStack’s real device cloud, saving both time and cost incurred. This allows devs and testers to build applications to retain and delight users through its seamless user experience.