HTML5 compatibility on mobile and tablet browsers with testing on real devices

Feature Safari iOS Android Browser Google Chrome Amazon Silk BlackBerry Browser Nokia Browser Internet Explorer Opera Mobile Opera mini Firefox
Platform iPhone, iPad Phones & Tablet Android 4.0+ For Chrome on iOS compatibility look at Safari column Kindle Fire Phones Tablet MeeGo - N9 Symbian Windows Phone Windows 8.x Android & Symbian Symbian deprecated at 12.1; Android up to 12.1 using Presto engine (now Opera Classic); Android from 13 using Chromium Java,iOS Android Android, Meego Firefox OS
Versions tested 3.2 to 7.0 1.5 to 4.3 From 4.4, Android Browser is deprecated. The WebView and native browsers are using Chromium 30. 18 to 33b 1.0 to 2.0 5.0 to 7.1 10 to 10.2b 1.0 to 2.1 1.2 ^3 to BelleFP2 9 to 10 10 to 11 Internet Explorer 10 & 11 on Windows 8 mode (ex-metro) 11 to 18 5 to 7.5 6 to 24b Firefox for MeeGo is only available up to version 15 1.0

Application Cache

W3C API

Offline package installation.


2.1+

6.0+
 
Belle FP2+

10+

Web storage

W3C API

Persistent and session storage.


2.0+

6.0+
 
Belle FP2+

Web SQL storage

W3C API (inactive)

Persistent SQLite storage.


2.0+

6.0+
 
Belle FP2+
       

IndexedDB

W3C API

Agnostic database system (replacement for Web SQL)

   
2.0+
       
10+

14+
 

Geolocation

W3C API

Geolocation & tracking using GPS, cells or Wi-Fi.


2.0+

2.0+

6.0+
 
Belle+

Multimedia

W3C API

Video & Audio Players


2.3+

7.0+
 
Belle+

Web Workers

W3C API

Threading and background process communications


5.0+ From 7.0 Shared Web Workers are not supported anymore
 

2.0+

6.0+
 


10+

Viewport definition

W3C API

Meta tag support.


dpi It supports target-densityDpi

dpi It supports target-densityDpi

dpi 7.0+ It supports target-densityDpi

dpi It supports target-densityDpi

dpi Anna+ It supports target-densityDpi

also css It supports declaration through meta tag and CSS

also css It supports declaration through meta tag and CSS

also css It supports declaration through meta tag and CSS
 
Feature Safari iOS Android Browser Google Chrome Amazon Silk BlackBerry Browser Nokia Browser Internet Explorer Opera Mobile Opera mini Firefox
Platform iPhone, iPad Phones & Tablet Android 4.0+ Kindle Fire Phones BB10 Tablet MeeGo - N9 Symbian Windows Phone Windows 8.x Android & Symbian Java,iOS Android Android, MeeGo Firefox OS

Canvas API

W3C API

2D Drawing API


Anna+

SVG

W3C Working Group

Scalable Vector Graphics


3.0+
 

Motion Sensors

W3C Standard

Accelerometer, Gyroscope, Magnetometer


4.2

3.0+

30+ Up to Chrome 29, only deviceorientation is supported; devicemotion available since 30.

2.0+
   
   
11+

12+ Available only on Android; 12.x: full support; 14+: deviceorientation supported, devicemotion not available
   

Form Virtual Keyboards

W3C Standard

Text Inputs with different keyboards



4.0+



Anna+

10+
 

Form New Controls

W3C API

At least: Date, Time, Month, Range


5.0+
 


6.0+
 
2.0+
   
10+ only range

only range

 
no range

Touch Events

W3C API

touchstart, touchend, touchmove, touchcancel


2.1+

6.1+
 
Belle FP2+
 
(android)
 

Pointer Events

W3C API

pointerdown, pointerup, pointermove, etc.


10+
 
Feature Safari iOS Android Browser Google Chrome Amazon Silk BlackBerry Browser Nokia Browser Internet Explorer Opera Mobile Opera mini Firefox
Platform iPhone, iPad Phones & Tablet Android 4.0+ Kindle Fire Phones BB10 Tablet MeeGo - N9 Symbian Windows Phone Windows 8.x Android & Symbian Java,iOS Android Android, MeeGo Firefox OS

CSS 3 Basic

W3C Standard

opacity, backgrounds, text effects, rounded corners


6.0
 
Anna+

partial

CSS 3 Transforms 2D

W3C Standard

rotate, translate, scale, skew, matrix


2.0+

6.0
 
Anna+

partial

CSS 3 Transforms 3D

W3C Standard

scale3d, translate3d. Perspective, Backface


3.0+
         
14+
 
11+

CSS 3 Transitions

W3C Standard

Animations between two states


2.0+

6.0
 
Anna+

10+
 

CSS 3 Animations

W3C Standard

Animations with keyframes


2.0+
 
6.0
 
Anna+

10+

12.1+
 

CSS 3 Regions

W3C Standard

Content flowing between different elements


7.0+
 
30+ flag It is available only enabling an experimental flag

     
10+


17+ flag It is available only enabling an experimental flag
   

Position: fixed support

W3C Standard

Ability to mantain an element fixed in the viewport while scrolling / zooming


5.0+

2.2+ On 2.x only applicable with a non scalable viewport



7.0+
   
10+

14+
 
Partial 11+

Position: sticky support

W3C Standard

Flow an element until it goes out of the viewport when it gets fixed


6.0+
 

       
14+
 
26+ It is supported only after enabling an experimental flag
Feature Safari iOS Android Browser Google Chrome Amazon Silk BlackBerry Browser Nokia Browser Internet Explorer Opera Mobile Opera mini Firefox
Platform iPhone, iPad Phones & Tablet Android 4.0+ Kindle Fire Phones BB10 Tablet MeeGo - N9 Symbian Windows Phone Windows 8 Android & Symbian Java,iOS Android Android, MeeGo* Firefox OS

WebGL

Khronos Group API

3D Canvas for the web

 
Specific device Available on Sony Xperia Android 2.3 only

30+ On Chrome 27-29 available enabling an experimental flag. On Chrome 30 it's enabled but on most devices you need to enable the flag 'Override software rendering list'
     
2.0+
     
11+

12+ (android)
 

Navigation Timing API

W3C API

Performance events for WPO

 
4.0+
     
2.1+
   
14+
 
7+

File API

W3C API

Opening local files through input type


6.0+

3.0+

2.0+
   
2.0+
     
12+ (partial)
 
11+

FileSystem API

W3C API

Virtual FileSystem for persisten storage

   
2.0+
             
14+
     

HTML Media Capture

W3C API

Taking pictures, record video and audio from an input file type


6.0+ It doesn't support the capture attribute; but honors the accept attribute

3.0+
               
14+
 
11+

Web Speech API

W3C API

Speech Recognition and Synthetizer


7.0+ It doesn't support recognition, just synthesis
 
32+ Chrome 32 doesn't support synthesis, just recognition. From 33b, full API support.
               
14+
 
11+

HomeScreen Webapp

NO API

Add Icon to the home screen with fullscreen support


meta tags Support for apple-mobile-web-app-capable meta tag and others.
 
32+ Support for mobile-web-app-capable meta tag. Chrome 30 beta and 31 beta supported it (just the betas)
       
meta tags Support for apple-mobile-web-app-capable meta tag and others.

Anna+ Support for apple-mobile-web-app-capable meta tag and others.
 
live tile Support for Live Tiles (no full screen)

14+
 
manifest Support for AppManifest in JSON format

manifest Support for AppManifest in JSON format
Feature Safari iOS Android Browser Google Chrome Amazon Silk BlackBerry Browser Nokia Browser Internet Explorer Opera Mobile Opera mini Firefox
Platform iPhone, iPad Phones & Tablet Android 4.0+ Kindle Fire Phones BB10 Tablet MeeGo - N9 Symbian Windows Phone Windows 8.x Android & Symbian Java,iOS Android Android, MeeGo* Firefox OS

Network Information API

W3C API Old spec

Connection Bandwidth

 
2.2+ Old Spec
 

 


Old Spec
                 
12+

XMLHttpRequest 2.0

W3C API

AJAX 2.0: upload files, progress


5.0+

3.0+


Partial
   
2.0+

Belle+

10+

12+
 
10+

CORS

W3C API

Cross origin Resource Sharing, for cross domain AJAX request


3.0+
   
2.1+
 
10+

12+
 
10+

Server-Sent Events

W3C API

EventSource pattern to mantain the connection to the server open


4.1+
 
2.0+
 

2.0+

   

Web Sockets

W3C API

Newbidireccional protocol over HTTP


4.2+
 
2.0+

6.1+
 
 
Belle FP2+

10+

12.1+

7+

Media Capture Stream (getUserMedia)

W3C API

Camera access for <video> element

   
29+ On Chrome 27 & 28 it was also available enabling an experimental flag.
   
10.0 only getUserMedia is working on BB10.0, but it's not working on 10.1 / 10.2 beta
         
12.x only Available only on Android. Not available since Opera 14.
 
24+

WebRTC

W3C API

Real time communication

   
29+ On Chrome 27 & 28 it was also available enabling an experimental flag.
             
12.x only Available only on Android. Not available since Opera 14.
 
24+
 
Feature Safari iOS Android Browser Google Chrome Amazon Silk BlackBerry Browser Nokia Browser Internet Explorer Opera Mobile Opera mini Firefox
Platform iPhone, iPad Phones & Tablet Android 4.0+ Kindle Fire Phones BB10 Tablet MeeGo - N9 Symbian Windows Phone Windows 8.x Android & Symbian Java,iOS Android Android, MeeGo* Firefox OS

Web Audio API

W3C API

Low level audio playing


6.0+
 
29+ On Chrome 28 it's available enabling an experimental flag.
                 
25+

Notifications API

W3C API

Background alert notifications

     
2.0+
 
10.1+ On 10.0, implementation is partial

2.0+
           

Animation Timing API

W3C API

Performant timers for HTML5 animations


6.0+
 
2.0+
   
2.1+
   
10+

14+
 
11+

FullScreen API

W3C API

Allow the application to get a full screen mode

   
25+
             
11+

14+
 
Partial Available but buggy

Partial Available but buggy

Page Visibility API

W3C API

Determine current visibility state


7.0+
       
2.1+
   
10+

12.1+
 
18+

Vibration API

W3C API

Vibrate a mobile device for notification

   
32+ On Chrome 30 and 31 it was also available enabling an experimental flag.
                   
18+

Remote Debugger

Ability to attach a remote debugger, such as Web Inspector


6.0+
usb
 
usb
 
7.0+
 
       
DragonFly
 
14+
 

Always use feature detection.


More info: blog & books

If you want to help or send feedback, contact me.

by firt | Updates on Twitter | Blog