// Up-to-date as of 2013-04-19. // Things defined in the W3C's microdata draft, not the main HTML5 draft. // Note: must be included last so that it hits all elements. for (var element in elements) { elements[element].itemScope = "boolean"; elements[element].itemType = "settable tokenlist"; elements[element].itemId = "url"; elements[element].itemRef = "settable tokenlist"; elements[element].itemProp = "settable tokenlist"; } extraTests.push(function() { // itemValue only reflects in certain circumstances. The syntax for our big // array thing above doesn't currently support one IDL attribute that reflects // different content attributes, so just do this explicitly until that's fixed. var reflectItemValue = function(data, localName, attribute) { var element = document.createElement(localName); element.setAttribute("itemprop", ""); ReflectionTests.reflects(data, "itemValue", element, attribute); } reflectItemValue("string", "meta", "content"); reflectItemValue("url", "audio", "src"); reflectItemValue("url", "embed", "src"); reflectItemValue("url", "iframe", "src"); reflectItemValue("url", "img", "src"); reflectItemValue("url", "source", "src"); reflectItemValue("url", "track", "src"); reflectItemValue("url", "video", "src"); reflectItemValue("url", "a", "href"); reflectItemValue("url", "area", "href"); reflectItemValue("url", "link", "href"); reflectItemValue("url", "object", "data"); reflectItemValue("string", "data", "value"); //TODO: time is more complex });