IE10 User Agent String Update

The
IE10 user agent string was originally introduced in the first platform preview
of IE10. In Windows 8 Release Preview we made two additions to aid server-side feature
detection.

The first addition enables detecting whether a machine has touch-capable
hardware via a new Touch token. Using this token you can present a
touch-friendly version of your site to users with touch-capable hardware (typically,
in the case where your normal site is not touch-friendly). Keep in mind that users
with touch-capable hardware may also use a mouse and keyboard. You can see where
this token fits into the user agent string in the examples below.

  • IE10 on a machine without touch-capable hardware:
    Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2;
    Trident/6.0)
  • IE10 on a machine with touch-capable hardware:
    Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2;
    Trident/6.0; Touch)

If you’re detecting touch support client-side, do not sniff the user agent string;
use
navigator.msMaxTouchPoints
instead. If the property exists and returns
a value greater than zero, the user’s PC has touch capability. For example:

var hasTouch = navigator.msMaxTouchPoints >
0;

The second addition to the IE10 user agent string is a new architecture token
for ARM devices running Windows RT. This complements the existing values for other
architectures. The examples below show how this compares to a few other configurations.

  • 32-bit IE10 on 32-bit Windows:
    Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2;
    Trident/6.0)
  • 32-bit IE10 on 64-bit Windows:
    Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2;
    WOW64; Trident/6.0)
  • 64-bit IE10 on 64-bit Windows:
    Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2;
    Win64; x64; Trident/6.0)
  • IE10 on Windows RT:
    Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2;
    ARM; Trident/6.0)

These additions apply to both desktop and Metro style IE10 since they expose the
same platform capabilities. We recommend optimizing your site’s experience around
the capabilities of the system (like Touch) through feature detection, rather than
browser or environment detection. Where content depends on plug-ins, use the

requiresActiveX prompt to help users switch to desktop IE10 until the content
can be made plug-in free.

—Tony Ross, Program Manager, Internet Explorer


IEBlog