New HTML5 Features in Opera 11

With all the excitement of Opera 11's tab stacking and extensions, you might have thought that we had neglected our HTML5 commitments. You'd be wrong! After all, the browser that began the HTML5 work is unlikely to rest on our laurels.

From Frank's splendid documentation, the Opera 11 changelog tells us that support has been added for the following:

HTML5 APIs:

WebSockets support

Opera offers support for WebSockets which provide a way to communicate between script in a web page and the server in full-duplex mode with low latency. Opera supports version -00 of the WebSocket protocol (-76). WebSockets sets up one TCP connection and confirms that the server can speak WebSocket by doing a special handshake, after which the server and the client can send text messages over the connection at will, resulting in faster communication.

WebSockets support in Opera is disabled by default. Warning: This is due to flaws which can be exploited in the current WebSockets protocol. However, if you want to enable WebSockets in Opera:

  1. Type opera:config in the address bar and press Enter.
  2. In the Preferences Editor, expand the "User Prefs" topic and see "Enable WebSockets".
  3. Click the "Enable WebSockets" check box.

Don't forget to check out our tutorial Introducing Web Sockets.

HTML5 Forms:

I'm very pleased with the changes that we've made to our HTML5 Forms.

We've added

  • Support for <input type="search">
  • Support for <input type="file" multiple>
  • Support for <input placeholder="">
  • Support for <input type="color">
  • Support for <input type="tel">

We've improved

  • Updated the language string for HTML5 Forms
  • <input type="email"> validation
  • Default value for <input type="range">
  • out-of-range @value in <input type="range">
  • <input type="email"> now supports multiple emails as per the specification
  • Autofixing <input type="url"> without http://

We've removed

  • Support for <input type="file" min max>
  • Support for allowing a single control to be associated with more than one form
  • Support for WebForms from hasFeature

Be sure to read the super-splendid article New form features in HTML5.

Software wouldn't be software without some bugs, so here are some that we'll fix just as soon as we can:

  • placeholder doesn't work on <textarea> elements
  • The pattern attribute doesn't work on <input type="tel">
  • The error message on <input type="number"> is borked
  • <input type="color"> accepts any value (unlike date, datetime-local, number, week, month)

HTML5 elements:

  • Support for the <progress> element
  • Support for the <meter> element

See Andreas' demo of <progress>, <meter> and new form goodies.