52 |
Specifications
53 |
54 |
Why do you include specifications that are not part of HTML5?
55 |
56 |
57 | HTML5 means different things to different people. You could argue that HTML5 only includes features that are
58 | defined in the W3C HTML5 specification. Or you could argue that it includes every specification, draft or
59 | experimental feature that is added to browsers in the last couple of years. We decided to take the middle
60 | ground and split the test into three parts: the official HTML5 specification, specifications that are related
61 | to HTML5 and some experimental new features that are extensions of HTML5.
62 |
63 |
64 | Many of the related specifications were at one time part of HTML5. During the development of the specification
65 | they were moved to separate specifications.
66 |
67 |
68 |
69 |
But WebGL isn't even a W3C specification!
70 |
71 | The W3C isn't the only organization that creates open specifications for the web. The WebGL specification is
72 | published by Kronos, the same group that is also responsible for OpenGL. WebGL is related to HTML5 though and
73 | listed as one of the HTML5 technologies on the W3C HTML5 logo page. The W3C HTML5 specification allows the
74 | canvas element to be extended by new drawing methods and WebGL is one of them.
75 |
76 |
77 |
Why do you test for Web SQL?
78 |
79 | The Web SQL specification has been deprecated and replaced by the IndexedDB specification. It is however
80 | still commonly used on mobile phones and at least three vendors have shipped desktop browsers supporting Web SQL. We've decided to include
81 | this specification, but make it a special case. Web SQL is worth 5 points, but only if IndexedDB is not supported.
82 | IndexedDB is worth 10 points. If a browser supports both, only 10 points are awarded. This way browsers
83 | that only included IndexedDB are not penalized, but browsers that only support Web SQL do get some points.
84 |
85 |
86 |
87 |
88 |
89 |
Scoring
90 |
91 |
What is the maximum number of points you can score?
92 |
93 | If a browser passes all tests it would receive the maximum score of 555. Previous
94 | versions of the HTML5test had less tests and therefore also a lower maximum score, such as 160, 300, 450, 475 and 500 points.
95 | Previous versions of this test also awarded bonus points for some features, but as of version 5, we
96 | no longer do.
97 |
98 |
99 |
The scoring seems arbitrary, who decides how many points are awarded?
100 |
101 | We decided to award points for each feature depending on how important that feature is for web developers
102 | and how difficult it is to implement that feature. A small and simple feature would be worth less points than a
103 | large and complicated feature. We think this is the most honest way to grade browsers, because otherwise a browser
104 | that only supports the small and simple features would score as high or higher than a browser that went the
105 | extra mile and decided to tackle the big features. But in the end it is based on personal preference,
106 | but I doubt there is a truly objective alternative.
107 |
108 |
109 |
110 |
111 |
112 |
Reporting
113 |
114 |
Can my browser be included on the 'other browser' and 'compare' pages?
115 |
116 |
117 | We would love to add new browsers, but not all browsers are eligible. First of all we only accept browsers that
118 | are publicly available, either in beta form or a final release. We do not accept scores for internal development builds.
119 | Secondly we only accept browsers that are available in English. We want to check browsers before including them and
120 | unfortunately we do not speak Chinese, Japanese, Korean or Russian. And finally we only accept browsers which have a
121 | unique score. There are many browsers that are forks or modified versions of Chromium or Firefox. Similarly there
122 | are many browser that embed Internet Explorer or Webkit as provided by the operating system. These browser
123 | do not qualify. For comparisons, simply choose the original browser on which the browser was based instead.
124 |
125 |
126 | We retain the right to make exceptions to any of the rules above and to remove or refuse any browser we deem
127 | necessary.
128 |
129 |
130 |
131 |
What happens when a browser cheats?
132 |
133 |
134 | We cannot distinguish between a browser that supports a particular feature and a browser that lies about supporting
135 | that feature. The only way to deal with these situations it to manually confirm the test results. And if a browser
136 | is found to be overly confident about claiming support for certain features we can put that browser on a blacklist.
137 | That means that that even though the browser claims to support a particular feature, we ignore what the browser says and do
138 | not give any points. This is usually just a temporary problem and once the browser has been fixed we will remove
139 | the new version from the blacklist.
140 |
141 |
142 | Claiming to support a feature which isn't working is not just causing problems for the reliability of the
143 | test results, but there are other real-world problems. For example if you claim to support WebGL, a website may decide
144 | to serve WebGL content. If your browser does not support WebGL, the website may fail in an uncontrollable way. If you
145 | correctly denied support for WebGL, the website may have served alternative content that would work in your browser.
146 | If you claim to support features that you don't, you are breaking the web.
147 |
148 |
149 | If we find that a browser is structurally lying about which features they support - deliberately or not - we will
150 | usually give a warning to the developers of the browser and if the problem hasn't been fixed in the next version
151 | we will remove the browser from the 'other browser' and 'compare' pages and/or give other penalties. In extreme
152 | cases we may block the browser from showing test results and show a warning instead.
153 |
154 |
155 |
156 |
157 |
158 |
Methods
159 |
160 |
Why are you using browser sniffing?
161 |
162 |
163 | Unfortunately, in two very specific cases we are forced to use browser sniffing. The first case is contentEditable
164 | which was not supported on many older mobile devices. Yet almost all mobile browsers claim to support contentEditable
.
165 | Fortunately modern mobile devices are starting to support contentEditable
, but this left us with a problem. We
166 | cannot reliably detect if a browser has proper support. The only way around this is to use a whitelist of
167 | mobile browsers that do support this feature, otherwise you risk awarding points to mobile browsers that they
168 | do not deserve. The second case is drag and drop, which is also not supported on mobile phones and tablets.
169 |
170 | Please open a new issue on Github when you believe a
171 | browser should be included on the whitelist.
172 |
173 |
174 |
175 |
176 |
177 |
Privacy
178 |
179 |
What kind of data is collected from visitors?
180 |
181 |
182 | Each time you visit this website your score and test results are logged on our servers.
183 | We also store the user agent of your browser which contains information about the browser,
184 | operating system and device you are using. The collected information is solely used to
185 | generated anonymized reports about HTML5 support in browsers and improve the quality of
186 | our software.
187 |
188 |
189 | We do not store cookies in your browser.
190 |
191 |
192 |