Trying to understand HTML5 compatibility on mobile and tablet browsers

Feature Safari on iOS Android Browser Google Chrome Amazon Silk BlackBerry Browser Nokia Browser Internet Explorer Opera Mobile Opera mini Firefox webOS Browser
Platform iPhone, iPad Phones & Tablet Android 4.0+ Kindle Fire Phones Tablet MeeGo - N9 Symbian Windows Phone 7.5 Windows 8 Android & Symbian Java,iOS Android Android, MeeGo HP Phones HP TouchPad
Versions tested 3.2 to 6.1 1.5 to 4.2 18 to 25b 1.0 to 2.0 5.0 to 7.1 BB10 1.0 to 2.1 1.2 ^3 to Belle FP2 9 10 (metro) 11 to 12.1 5 to 7 6 to 18 1.4 to 2.0 3.0

Application Cache

W3C API

Offline package installation.


2.1+

6.0+
 
Belle FP2+

Web storage

W3C API

Persistent and session storage.


2.0+

6.0+
 
Belle FP2+

Web SQL storage

W3C API (no active)

Persistent SQLite storage.


2.0+

6.0+
 
Belle FP2+
     

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+

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+
 
12.1+

7+
 
3.0.5+
Feature Safari on iOS Android Browser Google Chrome Amazon Silk BlackBerry Browser Nokia Browser Internet Explorer Opera Mobile Opera mini Firefox webOS Browser
Platform iPhone, iPad Phones & Tablet Android 4.0+ Kindle Fire Phones BB10 Tablet MeeGo - N9 Symbian Windows Phone 7.5 Windows 8 Android & Symbian Java,iOS Android Android, MeeGo HP Phones HP TouchPad

Web Workers

W3C API

Threading and background process communications


5.0+
 

2.0+

6.0+
 

 
   

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+

Partial support

2.0+
   
     
12+ (android)
 
moz (custom)
 
3.0.5+ Partial

HTML5 Form Virtual Keyboards

W3C Standard

Text Inputs with different keyboards



4.0+



Anna+
     

HTML5 Form New Controls

W3C API

At least: Date, Time, Month, Range


5.0+
 


6.0+
 
2.0+
     
only range
     

Touch Events

W3C API

touchstart, touchend, touchmove, touchcancel


2.1+

6.1+
 
Belle FP2+
 
(Pointer events)

(android)
   
3.0.5+
Feature Safari on iOS Android Browser Google Chrome Amazon Silk BlackBerry Browser Nokia Browser Internet Explorer Opera Mobile Opera mini Firefox webOS Browser
Platform iPhone, iPad Phones & Tablet Android 4.0+ Kindle Fire Phones BB10 Tablet MeeGo - N9 Symbian Windows Phone 7.5 Windows 8 Android & Symbian Java,iOS Android Android, MeeGo HP Phones HP TouchPad

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+
             
11+
   

CSS 3 Transitions

W3C Standard

Animations between two states


2.0+

6.0
 
Anna+
   

CSS 3 Animations

W3C Standard

Animations with keyframes


2.0+
 
6.0
 
Anna+
 
12.1+
 

Viewport definition

W3C API

Meta tag support.


supports target-densityDpi

 
Anna+

supports css & meta
 

Position: fixed support

W3C Standard

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


5.0+

2.2+ & non scalable viewport



7.0+
         
Partial 11+
 
Partial 3.0.5+
Feature Safari on iOS Android Browser Google Chrome Amazon Silk BlackBerry Browser Nokia Browser Internet Explorer Opera Mobile Opera mini Firefox webOS Browser
Platform iPhone, iPad Phones & Tablet Android 4.0+ Kindle Fire Phones BB10 Tablet MeeGo - N9 Symbian Windows Phone 7.5 Windows 8 Android & Symbian Java,iOS Android Android, MeeGo HP Phones HP TouchPad

WebGL

Khronos Group API

3D Canvas for the web

 
2.3 only on Sony Xperia
       
2.0+
       
12+ (android)
 
   

XMLHttpRequest 2.0

W3C API

AJAX 2.0: upload files, progress


5.0+

3.0+


Partial
   
2.0+

Belle+
 
12+
 
10+
 
Partial

Navigation Timing API

W3C API

Performance events for WPO

 
4.0+
     
2.1+
       
7+
   

Network Information API

W3C API

Connection Type: 2G, 3G, 4G, WiFi

 
2.2+ Ols Spec
 

 


Old Spec
                 
12+
   

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+
                       

CORS

W3C API

Cross origin Resource Sharing, for cross domain AJAX request


3.0+
   
2.1+
   
12+
 
10+
 

HTML Media Capture

W3C API

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


6.0+ (partial)

3.0+
                   
11+
   
Feature Safari on iOS Android Browser Google Chrome Amazon Silk BlackBerry Browser Nokia Browser Internet Explorer Opera Mobile Opera mini Firefox webOS Browser
Platform iPhone, iPad Phones & Tablet Android 4.0+ Kindle Fire Phones BB10 Tablet MeeGo - N9 Symbian Windows Phone 7.5 Windows 8 Android & Symbian Java,iOS Android Android, MeeGo HP Phones HP TouchPad

Web Audio API

W3C API

Low level audio playing


6.0+
   
2.0+
                 
   

Notifications API

W3C API

Background alert notifications

     
2.0+
 
Partial

2.0+
           
   

IndexedDB

W3C API

Agnostic database system (replacement for Web SQL)

   
2.0+
               
   

getUserMedia

W3C API

Camera access for <video> element

                     
12+ (android)
 
   

Animation Timing API

W3C API

Performant timers for HTML5 animations


6.0+
 
2.0+
   
2.1+
         
11+
 

FullScreen API

W3C API

Allow the application to get a full screen mode

   
25+
                   
Partial 12+
   

Page Visibility API

W3C API

Determine current visibility state

         
2.1+
     
12.1+
 
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