VML element isn't displayed in strict standards-compliant mode in Internet Explorer 9


The Internet Explorer 11 desktop application will be retired and go out of support on June 15, 2022 (for a list of what's in scope, see the FAQ). The same IE11 apps and sites you use today can open in Microsoft Edge with Internet Explorer mode. Learn more here.

A Vector Markup Language (VML) element isn't displayed in strict standards-compliant mode when an HTML page uses the !DOCTYPE element in Internet Explorer 9.

Original product version:   Internet Explorer 9
Original KB number:   932175


To solve this problem, set the VML style to display:inline-block by using the following code:

vml\:* {
behavior: url(#default#VML);display:inline-block

More Information

The VML element is displayed correctly if you make sure the following things:

  • Don't use strict standards-compliant mode.
  • Remove the !DOCTYPE element.

For more information about strict standards-compliant mode, see Doctype.

To reproduce this problem, use the following page:

<?xml version="1.1" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xml:lang="en"
        <title>VML Oval</title>
        <style type="text/css">
behavior: url(#default#VML);
        <h1>VML Oval</h1>
            <vml:oval style="width:100pt;height:50pt" fillcolor="red"></vml:oval>