<!doctype html>
<html>
<head>
<meta charset="utf-8">
<style>
    target {
        display: block;
        height: 20px;
        min-width: 20px;
        float: left;
        margin: 2px;
    }
    target:matches([data-Foo], [data-Æøå], [data-Foo-Æøå]) {
        background-color: green;
    }
    target:matches([data-FOO], [data-ÆØÅ], [data-FOO-ÆØÅ]) {
        color: blue;
    }
    target:matches([data-foo], [data-æøå], [data-foo-æøå]) {
        border: 2px dashed red;
    }
</style>
</head>
<body>
    <p data-Foo data-ÆØÅ data-foo-æøå>In HTML, attribute name matching is case-insensitive but only in the ASCII range. In XML, attributes are always case-sensitive. When matching attributes on a document mixing XML and HTML, each type should handle the case correctly.</p>
    <p data-foo data-Foo-Æøå data-Æøå>If the test succeed, each block should be styled as described.</p>
    <target data-Foo>Green background, blue text, dashed red border.</target>
    <target data-FOO>Green background, blue text, dashed red border.</target>
    <target data-foo>Green background, blue text, dashed red border.</target>
    <target data-Æøå>Green background color.</target>
    <target data-ÆØÅ>Blue text.</target>
    <target data-æøå>Dashed red border.</target>
    <target data-Foo-Æøå>Green background color.</target>
    <target data-FOO-ÆØÅ>Blue text.</target>
    <target data-foo-æøå>Dashed red border.</target>
    <xml-container id="xml-container"></xml-container>
</body>
<script>
    var xmlDocument = new DOMParser().parseFromString('<xml xmlns="https://www.webkit.org/awesome"><target data-Foo="">Green background color.</target><target data-FOO="">Blue text.</target><target data-foo="">Dashed red border.</target><target data-Æøå="">Green background color.</target><target data-ÆØÅ="">Blue text.</target><target data-æøå="">Dashed red border.</target></xml>', 'text/xml');
    var container = document.getElementById("xml-container");
    container.appendChild(document.importNode(xmlDocument.documentElement, true));
</script>
</html>
