<commit_before>{
    "aAdjacentWithSameResourceShouldBeCombined": {
        "type": "custom",
        "callback": "aAdjacentWithSameResourceShouldBeCombined",
        "testability": 1,
        "tags" : [ "link" ]
    },
    "aImgAltNotRepetative": {
        "type": "custom",
        "callback": "aImgAltNotRepetative",
        "testability": 1,
        "tags" : [ "link" ]
    },
    "aLinkTextDoesNotBeginWithRedundantWord": {
        "type": "custom",
        "callback": "aLinkTextDoesNotBeginWithRedundantWord",
        "testability": 0,
        "tags" : [ "link" ]
    },
    "aLinksAreSeperatedByPrintableCharacters": {
        "type": "custom",
        "callback": "aLinksAreSeperatedByPrintableCharacters",
        "testability": 1,
        "tags" : [ "link" ]
    },
    "aLinksDontOpenNewWindow": {
        "type": "selector",
        "selector": "a[target=_new], a[target=_blank], a[target=_blank]",
        "testability": 1,
        "tags" : [ "link" ]
    },
    "aLinksToMultiMediaRequireTranscript": {
        "type": "selector",
        "selector": "a[href$='.wmv'], a[href$='.mpg'], a[href$='.mov'], a[href$='.ram'], a[href$='.aif']",
        "testability": 0,
        "tags" : [ "link", "media" ]
    },
    "aLinksToSoundFilesNeedTranscripts": {
        "type": "selector",
        "selector": "a[href$='.wav'], a[href$='.snd'], a[href$='.mp3'], a[href$='.iff'], a[href$='.svx'], a[href$='.sam'], a[href$='.smp'], a[href$='.vce'], a[href$='.vox'], a[href$='.pcm'], a[href$='.aif']",
        "testability": 0,
        "tags" : [ "link", "media"]
    },
    "aMultimediaTextAlternative": {
        "type": "selector",
        "selector": "a[href$='.wmv'], a[href$='.wav'], a[href$='.mpg'], a[href$='.mov'], a[href$='.ram'], a[href$='.aif']",
        "testability": 0,
        "tags" : [ "link", "media"]
    },
    "aMustContainText": {
        "type": "custom",
        "callback": "aMustContainText",
        "testability": 1,
        "tags" : [ "link" ]
    },
    "aMustHaveTitle": {
        "type": "selector",
        "selector": "a:not(a[title])",
        "testability": 1,
        "tags" : [ "linK" ]
    },
    "aMustNotHaveJavascriptHref": {
        "type": "selector",
        "selector": "a[href^='javascript:']",
        "testability": 1,
        "tags" : [ "link" ]
    },
    "aSuspiciousLinkText": {
        "type": "custom",
        "callback": "aSuspiciousLinkText",
        "testability": 1,
        "tags" : [ "link" ]
    },
    "aTitleDescribesDestination": {
        "type": "selector",
        "selector": "a[title]",
        "testability": 0,
        "tags" : [ "link" ]
    },
    "addressForAuthor": {
        "type": "selector",
        "selector": "body:not(body:has(address))",
        "testability": 1,
        "tags" : [ "document" ]
    },
    "addressForAuthorMustBeValid": {
        "type": "selector",
        "selector": "address",
        "testability": 0.5,
        "tags" : [ "document" ]
    },
    "appletContainsTextEquivalent": {
        "type": "custom",
        "callback": "appletContainsTextEquivalent",
        "testability": 1,
        "tags" : [ "objects", "applet" ]
    },
    "appletContainsTextEquivalentInAlt": {
        "type": "placeholder",
        "selector": "applet",
        "attribute": "alt",
        "empty": true,
        "testability": 0.5,
        "tags" : [ "objects", "applet" ]
    },
    "appletProvidesMechanismToReturnToParent": {
        "type": "selector",
        "selector": "applet",
        "testability": 0,
        "tags" : [ "objects", "applet" ]
    },
    "appletTextEquivalentsGetUpdated": {
        "type": "selector",
        "selector": "applet",
        "testability": 0,
        "tags" : [ "objects", "applet" ]
    },
    "appletUIMustBeAccessible": {
        "type": "selector",
        "selector": "applet",
        "testability": 0,
        "tags" : [ "objects", "applet" ]
    },
    "appletsDoNotFlicker": {
        "type": "selector",
        "selector": "applet",
        "testability": 0,
        "tags" : [ "objects", "applet" ]
    },
    "appletsDoneUseColorAlone": {
        "type": "selector",
        "selector": "applet",
        "testability": 0,
        "tags" : [ "objects", "applet" ]
    },
    "areaAltIdentifiesDestination": {
        "type": "selector",
        "selector": "area[alt]",
        "testability": 0,
        "tags" : [ "objects", "applet" ]
    },
    "areaAltRefersToText": {
        "type": "selector",
        "selector": "area",
        "testability": 0,
        "tags" : [ "imagemap" ]
    },
    "areaDontOpenNewWindow": {
        "type": "selector",
        "selector": "area[target='new window'], area[target=_new], area[target=_blank], area[target=_blank]",
        "testability": 1,
        "tags" : [ "imagemap" ]
    },
    "areaHasAltValue": {
        "type": "selector",
        "selector": "area:not(area[alt])",
        "testability": 1,
        "tags" : [ "imagemap" ]
    },
    "ariaOrphanedContent": {
        "type": "selector",
        "selector" : "body *:not(*[role] *, *[role], script, meta, link)",
        "testability": 1,
        "tags" : [ "aria" ]
    },
    "areaLinksToSoundFile": {
        "type": "selector",
        "selector": "area[href$=wav], area[href$=snd], area[href$=mp3], area[href$=iff], area[href$=svx], area[href$=sam], area[href$=smp], area[href$=vce], area[href$=vox], area[href$=pcm], area[href$=aif]",
        "testability": 1,
        "tags" : [ "imagemap", "media" ]
    },
    "basefontIsNotUsed": {
        "type": "selector",
        "selector": "basefont",
        "testability": 1,
        "tags" : [ "document", "deprecated" ]
    },
    "blinkIsNotUsed": {
        "type": "selector",
        "selector": "blink",
        "testability": 1,
        "tags" : [ "deprecated" ]
    },
    "blockquoteNotUsedForIndentation": {
        "type": "selector",
        "selector": "blockquote:not(blockquote[cite])",
        "testability": 0.5,
        "tags" : [ "blockquote" ]
    },
    "blockquoteUseForQuotations": {
        "type": "custom",
        "callback": "blockquoteUseForQuotations",
        "testability": 0.5,
        "tags" : [ "blockquote" ]
    },
    "bodyActiveLinkColorContrast": {
        "type": "color",
        "algorithm": "wcag",
        "selector": "a:active",
        "bodyForegroundAttribute": "alink",
        "bodyBackgroundAttribute": "bgcolor",
        "testability": 1,
        "tags" : [ "document", "color" ]
    },
    "bodyColorContrast": {
        "type": "color",
        "algorithm": "wcag",
        "selector": "body",
        "bodyForegroundAttribute": "text",
        "bodyBackgroundAttribute": "bgcolor",
        "testability": 1,
        "tags" : [ "document", "color" ]
    },
    "bodyLinkColorContrast": {
        "type": "color",
        "algorithm": "wcag",
        "selector": "a",
        "bodyForegroundAttribute": "link",
        "bodyBackgroundAttribute": "bgcolor",
        "testability": 1,
        "tags" : [ "document", "color" ]
    },
    "bodyMustNotHaveBackground": {
        "type": "selector",
        "selector": "body[background]",
        "testability": 1,
        "tags" : [ "document", "color" ]
    },
    "bodyVisitedLinkColorContrast": {
        "type": "color",
        "algorithm": "wcag",
        "selector": "a:visited",
        "bodyForegroundAttribute": "vlink",
        "bodyBackgroundAttribute": "bgcolor",
        "testability": 1,
        "tags" : [ "link", "color" ]
    },
    "boldIsNotUsed": {
        "type": "selector",
        "selector": "bold",
        "testability": 1,
        "tags" : [ "semantics" ]
    },
    "checkboxHasLabel": {
        "type": "label",
        "selector": "input[type=checkbox]",
        "testability": 1,
        "tags" : [ "form" ]
    },
    "checkboxLabelIsNearby": {
        "type": "labelProximity",
        "selector": "input[type=checkbox]",
        "testability": 0.5,
        "tags" : [ "form" ]
    },
    "cssDocumentMakesSenseStyleTurnedOff": {
        "type": "selector",
        "selector": "link[rel=stylesheet], stylesheet, *[style]",
        "testability": 0,
        "tags" : [ "color" ]
    },
    "cssTextHasContrast": {
        "type": "color",
        "algorithm": "wcag",
        "selector": "*",
        "bodyForegroundAttribute": "background",
        "bodyBackgroundAttribute": "color",
        "testability": 1,
        "tags" : [ "color" ]
    },
    "doctypeProvided": {
        "type": "custom",
        "callback": "doctypeProvided",
        "testability": 1,
        "tags" : [ "doctype" ]
    },
    "documentAbbrIsUsed": {
        "type": "custom",
        "callback": "documentAbbrIsUsed",
        "testability": 0.5,
        "tags" : [ "acronym" ]
    },
    "documentAcronymsHaveElement": {
        "type": "custom",
        "callback": "documentAcronymsHaveElement",
        "testability": 0.5,
        "tags" : [ "acronym" ]
    },
    "documentAllColorsAreSet": {
        "type": "selector",
        "selector": "body:not(body[text][bgcolor][link][alink][vlink], body:not(body[text], body[bgcolor], body[link], body[alink], body[vlink]))",
        "testability": 1,
        "tags" : [ "deprecated", "color" ]
    },
    "documentAutoRedirectNotUsed": {
        "type": "selector",
        "selector": "meta[http-equiv=refresh]",
        "testability": 1,
        "tags" : [ "document" ]
    },
    "documentColorWaiActiveLinkAlgorithm": {
        "type": "color",
        "algorithm": "wai",
        "selector": "a:active",
        "bodyForegroundAttribute": "alink",
        "bodyBackgroundAttribute": "bgcolor",
        "testability": 1,
        "tags" : [ "document", "color" ]
    },
    "documentColorWaiAlgorithm": {
        "type": "color",
        "algorithm": "wai",
        "bodyForegroundAttribute": "text",
        "bodyBackgroundAttribute": "bgcolor",
        "selector": "body",
        "testability": 1,
        "tags" : [ "document", "color" ]
    },
    "documentColorWaiLinkAlgorithm": {
        "type": "color",
        "algorithm": "wai",
        "selector": "a",
        "bodyForegroundAttribute": "link",
        "bodyBackgroundAttribute": "bgcolor",
        "testability": 1,
        "tags" : [ "document", "color" ]
    },
    "documentColorWaiVisitedLinkAlgorithm": {
        "type": "color",
        "algorithm": "wai",
        "selector": "a:visited",
        "bodyForegroundAttribute": "vlink",
        "bodyBackgroundAttribute": "bgcolor",
        "testability": 1,
        "tags" : [ "document", "color" ]
    },
    "documentContentReadableWithoutStylesheets": {
        "type": "selector",
        "selector": "html:has(link[rel=stylesheet], style) body, body:has(*[style])",
        "testability": 0,
        "tags" : [ "document", "color" ]
    },
    "documentHasTitleElement": {
        "type": "selector",
        "selector": "html:not(html:has(title))",
        "testability": 1,
        "tags" : [ "document", "head" ]
    },
    "documentIDsMustBeUnique": {
        "type": "custom",
        "callback": "documentIDsMustBeUnique",
        "testability": 1,
        "tags" : [ "document", "sematnics" ]
    },
    "documentLangIsISO639Standard": {
        "type": "custom",
        "callback": "documentLangIsISO639Standard",
        "testability": 1,
        "tags" : [ "document", "language" ]
    },
    "documentLangNotIdentified": {
        "type": "selector",
        "selector": "html:not(html[lang])",
        "testability": 1,
        "tags" : [ "document", "language" ]
    },
    "documentMetaNotUsedWithTimeout": {
        "type": "selector",
        "selector": "meta[http-equiv=refresh]",
        "testability": 1,
        "tags" : [ "document"]
    },
    "documentReadingDirection": {
        "type": "selector",
        "selector": "*[lang=he]:not(*[dir=rtl]), *[lang=ar]:not(*[dir=rtl])",
        "testability": 0.5,
        "tags" : [ "document", "language" ]
    },
    "documentStrictDocType": {
        "type": "custom",
        "callback": "documentStrictDocType",
        "testability": 1,
        "tags" : [ "document", "doctype" ]
    },
    "documentTitleDescribesDocument": {
        "type": "selector",
        "selector": "head title:first",
        "testability": 0,
        "tags" : [ "document", "head" ]
    },
    "documentTitleIsNotPlaceholder": {
        "type": "placeholder",
        "selector": "head title:first",
        "content": true,
        "testability": 1,
        "tags" : [ "document", "head" ]
    },
    "documentTitleIsShort": {
        "type": "custom",
        "callback": "documentTitleIsShort",
        "testability": 0.5,
        "tags" : [ "document", "head"]
    },
    "documentTitleNotEmpty": {
        "type": "placeholder",
        "selector": "head title",
        "empty": true,
        "content": true,
        "testability": 1,
        "tags" : [ "document", "head"]
    },
    "documentValidatesToDocType": {
        "type": "custom",
        "callback": "documentValidatesToDocType",
        "testability": 1,
        "tags" : [ "document", "doctype" ]
    },
    "documentVisualListsAreMarkedUp": {
        "type": "custom",
        "callback": "documentVisualListsAreMarkedUp",
        "testability": 1,
        "tags" : [ "list", "semantics" ]
    },
    "documentWordsNotInLanguageAreMarked": {
        "type": "selector",
        "selector": "body",
        "testability": 0,
        "tags" : [ "language" ]
    },
    "documentIsWrittenClearly": {
        "type": "custom",
        "callback": "documentIsWrittenClearly",
        "testability": 0.5,
        "tags" : [ "language" ]
    },
    "embedHasAssociatedNoEmbed": {
        "type": "custom",
        "callback": "embedHasAssociatedNoEmbed",
        "testability": 1,
        "tags" : [ "object", "embed" ]
    },
    "embedMustHaveAltAttribute": {
        "type": "selector",
        "selector": "embed:not(embed[alt])",
        "testability": 1,
        "tags" : [ "object", "embed" ]
    },
    "embedMustNotHaveEmptyAlt": {
        "type": "selector",
        "selector": "embed[alt=]",
        "testability": 1,
        "tags" : [ "object", "embed" ]
    },
    "embedProvidesMechanismToReturnToParent": {
        "type": "selector",
        "selector": "embed",
        "testability": 0,
        "tags" : [ "object", "embed" ]
    },
    "emoticonsExcessiveUse": {
        "type": "custom",
        "callback": "emoticonsExcessiveUse",
        "testability": 0.5,
        "tags" : [ "language", "emoticons" ]
    },
    "emoticonsMissingAbbr": {
        "type": "custom",
        "callback": "emoticonsMissingAbbr",
        "testability": 1,
        "tags" : [ "language", "emoticons" ]
    },
    "fileHasLabel": {
        "type": "label",
        "selector": "input[type=file]",
        "testability": 1,
        "tags" : [ "form" ]
    },
    "fileLabelIsNearby": {
        "type": "labelProximity",
        "selector": "input[type=file]",
        "testability": 0.5,
        "tags" : [ "form" ]
    },
    "fontIsNotUsed": {
        "type": "selector",
        "selector": "font",
        "testability": 1,
        "tags" : [ "deprecated" ]
    },
    "formDeleteIsReversable": {
        "type": "selector",
        "selector": "form",
        "testability": 0,
        "tags" : [ "form" ]
    },
    "formAllowsCheckIfIrreversable": {
        "type": "selector",
        "selector": "form",
        "testability": 0,
        "tags" : [ "form" ]
    },
    "formErrorMessageHelpsUser": {
        "type": "selector",
        "selector": "form",
        "testability": 0,
        "tags" : [ "form" ]
    },
    "formHasGoodErrorMessage": {
        "type": "selector",
        "selector": "form",
        "testability": 0,
        "tags" : [ "form" ]
    },
    "formWithRequiredLabel": {
        "type": "custom",
        "callback": "formWithRequiredLabel",
        "testability": 0,
        "tags" : [ "form" ]
    },
    "frameIsNotUsed": {
        "type": "selector",
        "selector": "frame",
        "testability": 1,
        "tags" : [ "deprecated", "frame" ]
    },
    "frameRelationshipsMustBeDescribed": {
        "type": "selector",
        "selector": "frameset:not(frameset[longdesc])",
        "testability": 0.5,
        "tags" : [ "deprecated", "frame" ]
    },
    "frameSrcIsAccessible": {
        "type": "selector",
        "selector": "frame",
        "testability": 0,
        "tags" : [ "deprecated", "frame" ]
    },
    "framesetIsNotUsed": {
        "type": "selector",
        "selector": "frameset",
        "testability": 1,
        "tags" : [ "deprecated", "frame" ]
    },
    "frameTitlesDescribeFunction": {
        "type": "placeholder",
        "selector": "frame[title]",
        "attribute": "title",
        "empty": true,
        "testability": 0,
        "tags" : [ "deprecated", "frame" ]
    },
    "frameTitlesNotEmpty": {
        "type": "selector",
        "selector": "frame:not(frame[title]), frame[title=]",
        "testability": 1,
        "tags" : [ "deprecated", "frame" ]
    },
    "frameTitlesNotPlaceholder": {
        "type": "placeholder",
        "selector": "frame",
        "attribute": "title",
        "testability": 1,
        "tags" : [ "deprecated", "frame"]
    },
    "framesHaveATitle": {
        "type": "selector",
        "selector": "frame:not(frame[title])",
        "testability": 1,
        "tags" : [ "deprecated", "frame" ]
    },
    "framesetMustHaveNoFramesSection": {
        "type": "selector",
        "selector": "frameset:not(frameset:has(noframes))",
        "testability": 0.5,
        "tags" : [ "deprecated", "frame" ]
    },
    "headerH1": {
        "type": "header",
        "selector": "h1",
        "testability": 0,
        "tags" : [ "header" ]
    },
    "headerH2": {
        "type": "header",
        "selector": "h2",
        "testability": 0,
        "tags" : [ "header" ]
    },
    "headerH3": {
        "type": "header",
        "selector": "h3",
        "testability": 0,
        "tags" : [ "header" ]
    },
    "headerH4": {
        "type": "header",
        "selector": "h4",
        "testability": 0,
        "tags" : [ "header" ]
    },
    "headerH5": {
        "type": "header",
        "selector": "h5",
        "testability": 0,
        "tags" : [ "header" ]
    },
    "headerH1Format": {
        "type": "selector",
        "selector": "h1",
        "testability": 0,
        "tags" : [ "header" ]
    },
    "headerH2Format": {
        "type": "selector",
        "selector": "h2",
        "testability": 0,
        "tags" : [ "header" ]
    },
    "headerH3Format": {
        "type": "selector",
        "selector": "h3",
        "testability": 0,
        "tags" : [ "header" ]
    },
    "headerH4Format": {
        "type": "selector",
        "selector": "h4",
        "testability": 0,
        "tags" : [ "header" ]
    },
    "headerH5Format": {
        "type": "selector",
        "selector": "h5",
        "testability": 0,
        "tags" : [ "header" ]
    },
    "headerH6Format": {
        "type": "selector",
        "selector": "h6",
        "testability": 0,
        "tags" : [ "header" ]
    },
    "headersHaveText": {
        "type": "placeholder",
        "selector": "h1, h2, h3, h4, h5, h6",
        "content": true,
        "empty": true,
        "testability": 1,
        "tags" : [ "header" ]
    },
    "headersUseToMarkSections": {
        "type": "custom",
        "callback": "headersUseToMarkSections",
        "testability": 0.5,
        "tags" : [ "header" ]
    },
    "iIsNotUsed": {
        "type": "selector",
        "selector": "i",
        "testability": 1,
        "tags" : [ "deprecated" ]
    },
    "iframeMustNotHaveLongdesc": {
        "type": "selector",
        "selector": "iframe[longdesc]",
        "testability": 1,
        "tags" : [ "objects", "iframe" ]
    },
    "imageMapServerSide": {
        "type": "selector",
        "selector": "img[ismap]",
        "testability": 1,
        "tags" : [ "objects", "iframe" ]
    },
    "imgAltEmptyForDecorativeImages": {
        "type": "selector",
        "selector": "img[alt]",
        "testability": 0,
        "tags" : [ "image" ]
    },
    "imgAltIdentifiesLinkDestination": {
        "type": "selector",
        "selector": "a img[alt]:first",
        "testability": 0,
        "tags" : [ "image" ]
    },
    "imgAltIsDifferent": {
        "type": "custom",
        "callback": "imgAltIsDifferent",
        "testability": 0.5,
        "tags" : [ "image" ]
    },
    "imgAltIsSameInText": {
        "type": "selector",
        "selector": "img",
        "testability": 0,
        "tags" : [ "image" ]
    },
    "imgAltIsTooLong": {
        "type": "custom",
        "callback": "imgAltIsTooLong",
        "testability": 1,
        "tags" : [ "image" ]
    },
    "imgAltNotEmptyInAnchor": {
        "type": "custom",
        "callback": "imgAltNotEmptyInAnchor",
        "testability": 1,
        "tags" : [ "image" ]
    },
    "imgAltNotPlaceHolder": {
        "type": "placeholder",
        "selector": "img",
        "attribute": "alt",
        "testability": 1,
        "tags" : [ "image" ]
    },
    "imgAltTextNotRedundant": {
        "type": "custom",
        "callback": "imgAltTextNotRedundant",
        "testability": 1,
        "tags" : [ "image" ]
    },
    "imgGifNoFlicker": {
        "type": "custom",
        "callback": "imgGifNoFlicker",
        "testability": 1,
        "tags" : [ "image" ]
    },
    "imgHasAlt": {
        "type": "selector",
        "selector": "img:not(img[alt])",
        "testability": 1,
        "tags" : [ "image" ]
    },
    "imgHasLongDesc": {
        "type": "custom",
        "callback": "imgHasLongDesc",
        "testability": 1,
        "tags" : [ "image" ]
    },
    "imgImportantNoSpacerAlt": {
        "type": "custom",
        "callback": "imgImportantNoSpacerAlt",
        "testability": 0.5,
        "tags" : [ "image" ]
    },
    "imgMapAreasHaveDuplicateLink": {
        "type": "custom",
        "callback": "imgMapAreasHaveDuplicateLink",
        "testability": 1,
        "tags" : [ "image", "imagemap" ]
    },
    "imgNonDecorativeHasAlt": {
        "type": "custom",
        "callback": "imgNonDecorativeHasAlt",
        "testability": 0.5,
        "tags" : [ "image" ]
    },
    "imgNotReferredToByColorAlone": {
        "type": "selector",
        "selector": "img",
        "testability": 0,
        "tags" : [ "image", "color" ]
    },
    "imgServerSideMapNotUsed": {
        "type": "selector",
        "selector": "img[ismap]",
        "testability": 1,
        "tags" : [ "image", "imagemap" ]
    },
    "imgShouldNotHaveTitle": {
        "type": "selector",
        "selector": "img[title]",
        "testability": 1,
        "tags" : [ "image" ]
    },
    "imgWithMapHasUseMap": {
        "type": "selector",
        "selector": "img[ismap]:not(img[usemap])",
        "testability": 1,
        "tags" : [ "image", "imagemap" ]
    },
    "imgWithMathShouldHaveMathEquivalent": {
        "type": "custom",
        "callback": "imgWithMathShouldHaveMathEquivalent",
        "testability": 0,
        "tags" : [ "image" ]
    },
    "inputCheckboxHasTabIndex": {
        "type": "placeholder",
        "selector": "input[type=checkbox]",
        "attribute": "tabindex",
        "empty": true,
        "testability": 1,
        "tags" : [ "form" ]
    },
    "inputCheckboxRequiresFieldset": {
        "type": "custom",
        "callback": "inputCheckboxRequiresFieldset",
        "testability": 1,
        "tags" : [ "form" ]
    },
    "inputDoesNotUseColorAlone": {
        "type": "selector",
        "selector": "input:not(input[type=hidden])",
        "testability": 0,
        "tags" : [ "form", "color" ]
    },
    "inputElementsDontHaveAlt": {
        "type": "selector",
        "selector": "input[type!=image][alt]",
        "testability": 1,
        "tags" : [ "form" ]
    },
    "inputFileHasTabIndex": {
        "type": "placeholder",
        "selector": "input[type=file]",
        "attribute": "tabindex",
        "empty": true,
        "testability": 1,
        "tags" : [ "form", "tabindex" ]
    },
    "inputImageAltIdentifiesPurpose": {
        "type": "selector",
        "selector": "input[type=image][alt]",
        "testability": 0,
        "tags" : [ "form" ]
    },
    "inputImageAltIsNotFileName": {
        "type": "custom",
        "callback": "inputImageAltIsNotFileName",
        "testability": 1,
        "tags" : [ "form", "image" ]
    },
    "inputImageAltIsNotPlaceholder": {
        "type": "placeholder",
        "selector": "input[type=image]",
        "attribute": "alt",
        "testability": 1,
        "tags" : [ "form", "image" ]
    },
    "inputImageAltIsShort": {
        "type": "custom",
        "callback": "inputImageAltIsShort",
        "testability": 1,
        "tags" : [ "form", "image" ]
    },
    "inputImageAltNotRedundant": {
        "type": "custom",
        "callback": "inputImageAltNotRedundant",
        "testability": 1,
        "tags" : [ "form", "image" ]
    },
    "inputImageHasAlt": {
        "type": "selector",
        "selector": "input[type=image]:not(input[type=image][alt])",
        "testability": 1,
        "tags" : [ "form", "image" ]
    },
    "inputImageNotDecorative": {
        "type": "selector",
        "selector": "input[type=image]",
        "testability": 0,
        "tags" : [ "form", "image" ]
    },
    "inputPasswordHasTabIndex": {
        "type": "placeholder",
        "selector": "input[type=password]",
        "attribute": "tabindex",
        "empty": true,
        "testability": 1,
        "tags" : [ "form" ]
    },
    "inputRadioHasTabIndex": {
        "type": "placeholder",
        "selector": "input[type=radio]",
        "attribute": "tabindex",
        "empty": true,
        "testability": 1,
        "tags" : [ "form" ]
    },
    "inputSubmitHasTabIndex": {
        "type": "placeholder",
        "selector": "input[type=submit]",
        "attribute": "tabindex",
        "empty": true,
        "testability": 1,
        "tags" : [ "form" ]
    },
    "inputTextHasLabel": {
        "type": "label",
        "selector": "input[type=text]",
        "testability": 1,
        "tags" : [ "form" ]
    },
    "inputTextHasTabIndex": {
        "type": "placeholder",
        "selector": "input[type=text]",
        "attribute": "tabindex",
        "empty": true,
        "testability": 1,
        "tags" : [ "form" ]
    },
    "inputTextHasValue": {
        "type": "placeholder",
        "selector": "input[type=text]",
        "empty": true,
        "attribute": "value",
        "testability": 1,
        "tags" : [ "form" ]
    },
    "inputTextValueNotEmpty": {
        "type": "placeholder",
        "selector": "input[type=text]",
        "attribute": "value",
        "empty": true,
        "testability": 1,
        "tags" : [ "form" ]
    },
    "labelDoesNotContainInput": {
        "type": "selector",
        "selector": "label:has(input)",
        "testability": 1,
        "tags" : [ "form" ]
    },
    "labelMustBeUnique": {
        "type": "custom",
        "callback": "labelMustBeUnique",
        "testability": 1,
        "tags" : [ "form" ]
    },
    "labelMustNotBeEmpty": {
        "type": "placeholder",
        "selector": "label",
        "content": true,
        "empty": true,
        "testability": 1,
        "tags" : [ "form" ]
    },
    "labelsAreAssignedToAnInput": {
        "type": "custom",
        "callback": "labelsAreAssignedToAnInput",
        "testability": 1,
        "tags" : [ "form" ]
    },
    "legendDescribesListOfChoices": {
        "type": "selector",
        "selector": "legend",
        "testability": 0,
        "tags" : [ "form" ]
    },
    "legendTextNotEmpty": {
        "type": "selector",
        "selector": "legend:empty",
        "testability": 1,
        "tags" : [ "form" ]
    },
    "legendTextNotPlaceholder": {
        "type": "placeholder",
        "selector": "legend",
        "content": true,
        "emtpy": true,
        "testability": 1,
        "tags" : [ "form" ]
    },
    "liDontUseImageForBullet": {
        "type": "selector",
        "selector": "li:has(img)",
        "testability": 0.5,
        "tags" : [ "list" ]
    },
    "linkUsedForAlternateContent": {
        "type": "selector",
        "selector": "html:not(html:has(link[rel=alternate])) body",
        "testability": 0,
        "tags" : [ "document" ]
    },
    "linkUsedToDescribeNavigation": {
        "type": "selector",
        "selector": "html:not(html:has(link[rel=index]))",
        "testability": 1,
        "tags" : [ "document" ]
    },
    "listNotUsedForFormatting": {
        "type": "custom",
        "callback": "listNotUsedForFormatting",
        "testability": 0,
        "tags" : [ "list" ]
    },
    "marqueeIsNotUsed": {
        "type": "selector",
        "selector": "marquee",
        "testability": 1,
        "tags" : [ "deprecated" ]
    },
    "menuNotUsedToFormatText": {
        "type": "selector",
        "selector": "menu:not(menu li:parent(menu))",
        "testability": 0,
        "tags" : [ "list" ]
    },
    "noembedHasEquivalentContent": {
        "type": "selector",
        "selector": "noembed",
        "testability": 0,
        "tags" : [ "objects" ]
    },
    "noframesSectionMustHaveTextEquivalent": {
        "type": "selector",
        "selector": "frameset:not(frameset:has(noframes))",
        "testability": 0.5,
        "tags" : [ "deprecated" , "frame" ]
    },
    "objectContentUsableWhenDisabled": {
        "type": "selector",
        "selector": "object",
        "testability": 0,
        "tags" : [ "objects" ]
    },
    "objectDoesNotFlicker": {
        "type": "selector",
        "selector": "object",
        "testability": 0,
        "tags" : [ "objects" ]
    },
    "objectDoesNotUseColorAlone": {
        "type": "selector",
        "selector": "object",
        "testability": 0,
        "tags" : [ "objects" ]
    },
    "objectInterfaceIsAccessible": {
        "type": "selector",
        "selector": "object",
        "testability": 0,
        "tags" : [ "objects" ]
    },
    "objectLinkToMultimediaHasTextTranscript": {
        "type": "selector",
        "selector": "object",
        "testability": 0,
        "tags" : [ "objects" ]
    },
    "objectMustContainText": {
        "type": "placeholder",
        "selector": "object",
        "empty": true,
        "content": true,
        "testability": 1,
        "tags" : [ "objects" ]
    },
    "objectMustHaveEmbed": {
        "type": "selector",
        "selector": "object:not(object:has(embed))",
        "testability": 1,
        "tags" : [ "objects" ]
    },
    "objectMustHaveTitle": {
        "type": "selector",
        "selector": "object:not(object[title])",
        "testability": 1,
        "tags" : [ "objects" ]
    },
    "objectMustHaveValidTitle": {
        "type": "placeholder",
        "selector": "object",
        "attribute": "title",
        "empty": true,
        "testability": 1,
        "tags" : [ "objects" ]
    },
    "objectProvidesMechanismToReturnToParent": {
        "type": "selector",
        "selector": "object",
        "testability": 0,
        "tags" : [ "objects" ]
    },
    "objectShouldHaveLongDescription": {
        "type": "selector",
        "selector": "object",
        "testability": 0,
        "tags" : [ "objects" ]
    },
    "objectTextUpdatesWhenObjectChanges": {
        "type": "selector",
        "selector": "object",
        "testability": 0,
        "tags" : [ "objects" ]
    },
    "objectUIMustBeAccessible": {
        "type": "selector",
        "selector": "object",
        "testability": 0,
        "tags" : [ "objects" ]
    },
    "objectWithClassIDHasNoText": {
        "type": "selector",
        "selector": "object[classid]:not(object[classid]:empty)",
        "testability": 1,
        "tags" : [ "objects" ]
    },
    "pNotUsedAsHeader": {
        "type": "custom",
        "callback": "pNotUsedAsHeader",
        "testability": 1,
        "tags" : [ "header" ]
    },
    "paragarphIsWrittenClearly": {
        "type": "custom",
        "callback": "paragarphIsWrittenClearly",
        "testability": 0.5,
        "tags" : [ "language" ]
    },
    "passwordHasLabel": {
        "type": "label",
        "selector": "input[type=password]",
        "testability": 1,
        "tags" : [ "form" ]
    },
    "passwordLabelIsNearby": {
        "type": "labelProximity",
        "selector": "input[type=password]",
        "testability": 0.5,
        "tags" : [ "form" ]
    },
    "preShouldNotBeUsedForTabularLayout": {
        "type": "custom",
        "callback": "preShouldNotBeUsedForTabularLayout",
        "testability": 0,
        "tags" : [ "table" ]
    },
    "radioHasLabel": {
        "type": "label",
        "selector": "input[type=radio]",
        "testability": 1,
        "tags" : [ "form" ]
    },
    "radioLabelIsNearby": {
        "type": "labelProximity",
        "selector": "input[type=radio]",
        "testability": 0.5,
        "tags" : [ "form" ]
    },
    "radioMarkedWithFieldgroupAndLegend": {
        "type": "selector",
        "selector": "input[type=radio]:not(fieldset input[type=radio])",
        "testability": 1,
        "tags" : [ "form" ]
    },
    "scriptContentAccessibleWithScriptsTurnedOff": {
        "type": "selector",
        "selector": "script",
        "testability": 0,
        "tags" : [ "javascript" ]
    },
    "scriptInBodyMustHaveNoscript": {
        "type": "selector",
        "selector": "html:not(html:has(noscript)):has(script) body",
        "testability": 0.5,
        "tags" : [ "javascript" ]
    },
    "scriptOnclickRequiresOnKeypress": {
        "type": "event",
        "searchEvent": "onclick",
        "correspondingEvent": "onkeypress",
        "testability": 1,
        "tags" : [ "javascript" ]
    },
    "scriptOndblclickRequiresOnKeypress": {
        "type": "event",
        "searchEvent": "ondblclick",
        "correspondingEvent": "onkeypress",
        "testability": 1,
        "tags" : [ "javascript" ]
    },
    "scriptOnmousedownRequiresOnKeypress": {
        "type": "event",
        "searchEvent": "onmousedown",
        "correspondingEvent": "onkeydown",
        "testability": 1,
        "tags" : [ "javascript" ]
    },
    "scriptOnmousemove": {
        "type": "event",
        "searchEvent": "onmousemove",
        "correspondingEvent": "onkeypress",
        "testability": 1,
        "tags" : [ "javascript" ]
    },
    "scriptOnmouseoutHasOnmouseblur": {
        "type": "event",
        "searchEvent": "onmouseout",
        "correspondingEvent": "onblur",
        "testability": 1,
        "tags" : [ "javascript" ]
    },
    "scriptOnmouseoverHasOnfocus": {
        "type": "event",
        "searchEvent": "onmouseover",
        "correspondingEvent": "onfocus",
        "testability": 1,
        "tags" : [ "javascript" ]
    },
    "scriptOnmouseupHasOnkeyup": {
        "type": "event",
        "searchEvent": "onmouseup",
        "correspondingEvent": "onkeyup",
        "testability": 1,
        "tags" : [ "javascript" ]
    },
    "scriptUIMustBeAccessible": {
        "type": "selector",
        "selector": "script",
        "testability": 0,
        "tags" : [ "javascript" ]
    },
    "scriptsDoNotFlicker": {
        "type": "selector",
        "selector": "script",
        "testability": 0,
        "tags" : [ "javascript" ]
    },
    "scriptsDoNotUseColorAlone": {
        "type": "selector",
        "selector": "script",
        "testability": 0,
        "tags" : [ "javascript", "color" ]
    },
    "selectDoesNotChangeContext": {
        "type": "event",
        "selector": "select",
        "searchEvent": "onchange",
        "testability": 1,
        "tags" : [ "form" ]
    },
    "selectHasAssociatedLabel": {
        "type": "label",
        "selector": "select",
        "testability": 1,
        "tags" : [ "form" ]
    },
    "selectWithOptionsHasOptgroup": {
        "type": "selector",
        "selector": "select:not(select:has(optgroup)) option:nth-child(5)",
        "testability": 0.5,
        "tags" : [ "form" ]
    },
    "selectJumpMenu": {
        "type": "custom",
        "callback": "selectJumpMenu",
        "testability": 0.5,
        "tags" : [ "form" ]
    },
    "siteMap": {
        "type": "custom",
        "callback": "siteMap",
        "testability": 0,
        "tags" : [ "document" ]
    },
    "skipToContentLinkProvided": {
        "type": "selector",
        "selector": "body:not(body:has(a:first[href^=#]))",
        "testability": 0.5,
        "tags" : [ "document" ]
    },
    "svgContainsTitle": {
        "type": "selector",
        "selector": "svg:not(svg:has(title))",
        "testability": 1,
        "tags" : [ "image", "svg" ]
    },
    "tabIndexFollowsLogicalOrder": {
        "type": "custom",
        "callback": "tabIndexFollowsLogicalOrder",
        "testability": 0.5,
        "tags" : [ "document" ]
    },
    "tableCaptionIdentifiesTable": {
        "type": "selector",
        "selector": "caption",
        "testability": 0,
        "tags" : [ "table" ]
    },
    "tableComplexHasSummary": {
        "type": "selector",
        "selector": "table:not(table[summary], table:has(caption))",
        "testability": 0.5,
        "tags" : [ "table" ]
    },
    "tableDataShouldHaveTh": {
        "type": "selector",
        "selector": "table:not(table:has(th))",
        "testability": 1,
        "tags" : [ "table" ]
    },
    "tableHeaderLabelMustBeTerse": {
        "type": "custom",
        "callback": "tableHeaderLabelMustBeTerse",
        "testability": 0.5,
        "tags" : [ "table" ]
    },
    "tableIsGrouped": {
        "type": "selector",
        "selector": "table:not(table:has(thead), table:has(tfoot))",
        "testability": 0.5,
        "tags" : [ "table" ]
    },
    "tableLayoutDataShouldNotHaveTh": {
        "type": "custom",
        "callback": "tableLayoutDataShouldNotHaveTh",
        "testability": 0,
        "tags" : [ "table", "layout" ]
    },
    "tableLayoutHasNoCaption": {
        "type": "custom",
        "callback": "tableLayoutHasNoCaption",
        "testability": 1,
        "tags" : [ "table", "layout" ]
    },
    "tableLayoutHasNoSummary": {
        "type": "custom",
        "callback": "tableLayoutHasNoSummary",
        "testability": 0.5,
        "tags" : [ "table", "layout" ]
    },
    "tableLayoutMakesSenseLinearized": {
        "type": "custom",
        "callback": "tableLayoutMakesSenseLinearized",
        "testability": 0,
        "tags" : [ "table", "layout" ]
    },
    "tableSummaryDescribesTable": {
        "type": "selector",
        "selector": "table[summary]",
        "testability": 0,
        "tags" : [ "table" ]
    },
    "tableSummaryDoesNotDuplicateCaption": {
        "type": "custom",
        "callback": "tableSummaryDoesNotDuplicateCaption",
        "testability": 1,
        "tags" : [ "table" ]
    },
    "tableSummaryIsEmpty": {
        "type": "placeholder",
        "selector": "table[summary]",
        "attribute": "summary",
        "empty": true,
        "testability": 0.5,
        "tags" : [ "table" ]
    },
    "tableSummaryIsSufficient": {
        "type": "selector",
        "selector": "table[summary]",
        "testability": 0,
        "tags" : [ "table" ]
    },
    "tableSummaryIsNotTooLong": {
        "type": "custom",
        "callback": "tableSummaryIsNotTooLong",
        "testability": 0,
        "tags" : [ "table" ]
    },
    "tableNotUsedForLayout": {
        "type": "custom",
        "callback": "tableNotUsedForLayout",
        "testability": 0.5,
        "tags" : [ "table", "layout" ]
    },
    "tableUseColGroup": {
        "type": "custom",
        "callback": "tableUseColGroup",
        "testability": 0,
        "tags" : [ "table" ]
    },
    "tableUsesScopeForRow": {
        "type": "custom",
        "callback": "tableUsesScopeForRow",
        "testability": 0.5,
        "tags" : [ "table" ]
    },
    "tableUsesAbbreviationForHeader": {
        "type": "custom",
        "callback": "tableUsesAbbreviationForHeader",
        "testability": 0,
        "tags" : [ "table" ]
    },
    "tableUsesCaption": {
        "type": "selector",
        "selector": "table:not(table:has(caption))",
        "testability": 1,
        "tags" : [ "table" ]
    },
    "tableWithBothHeadersUseScope": {
        "type": "selector",
        "selector": "table:has(tr:not(table tr:first) th:not(th[scope]))",
        "testability": 0.5,
        "tags" : [ "table" ]
    },
    "tableWithMoreHeadersUseID": {
        "type": "custom",
        "callback": "tableWithMoreHeadersUseID",
        "testability": 0.5,
        "tags" : [ "table" ]
    },
    "tabularDataIsInTable": {
        "type": "custom",
        "callback": "tabularDataIsInTable",
        "testability": 0.5,
        "tags" : [ "table" ]
    },
    "textareaHasAssociatedLabel": {
        "type": "label",
        "selector": "textarea",
        "testability": 1,
        "tags" : [ "form" ]
    },
    "textareaLabelPositionedClose": {
        "type": "labelProximity",
        "selector": "textarea",
        "testability": 0.5,
        "tags" : [ "form" ]
    },
    "textIsNotSmall": {
        "type": "custom",
        "callback": "textIsNotSmall",
        "testability": 0.5,
        "tags" : [ "textsize" ]
    },
    "videoProvidesCaptions": {
        "type": "selector",
        "selector": "video",
        "testability": 0.5,
        "tags" : [ "media" ]
    },
    "videosEmbeddedOrLinkedNeedCaptions": {
        "type": "custom",
        "callback": "videosEmbeddedOrLinkedNeedCaptions",
        "testability": 1,
        "tags" : [ "media" ]
    }
}<commit_msg>Added content tag to tests that apply to page content. Fixes #38<commit_after>{
    "aAdjacentWithSameResourceShouldBeCombined": {
        "type": "custom",
        "callback": "aAdjacentWithSameResourceShouldBeCombined",
        "testability": 1,
        "tags" : [ "link", "content" ]
    },
    "aImgAltNotRepetative": {
        "type": "custom",
        "callback": "aImgAltNotRepetative",
        "testability": 1,
        "tags" : [ "link", "content" ]
    },
    "aLinkTextDoesNotBeginWithRedundantWord": {
        "type": "custom",
        "callback": "aLinkTextDoesNotBeginWithRedundantWord",
        "testability": 0,
        "tags" : [ "link", "content" ]
    },
    "aLinksAreSeperatedByPrintableCharacters": {
        "type": "custom",
        "callback": "aLinksAreSeperatedByPrintableCharacters",
        "testability": 1,
        "tags" : [ "link", "content" ]
    },
    "aLinksDontOpenNewWindow": {
        "type": "selector",
        "selector": "a[target=_new], a[target=_blank], a[target=_blank]",
        "testability": 1,
        "tags" : [ "link", "content" ]
    },
    "aLinksToMultiMediaRequireTranscript": {
        "type": "selector",
        "selector": "a[href$='.wmv'], a[href$='.mpg'], a[href$='.mov'], a[href$='.ram'], a[href$='.aif']",
        "testability": 0,
        "tags" : [ "link", "media", "content" ]
    },
    "aLinksToSoundFilesNeedTranscripts": {
        "type": "selector",
        "selector": "a[href$='.wav'], a[href$='.snd'], a[href$='.mp3'], a[href$='.iff'], a[href$='.svx'], a[href$='.sam'], a[href$='.smp'], a[href$='.vce'], a[href$='.vox'], a[href$='.pcm'], a[href$='.aif']",
        "testability": 0,
        "tags" : [ "link", "media", "content" ]
    },
    "aMultimediaTextAlternative": {
        "type": "selector",
        "selector": "a[href$='.wmv'], a[href$='.wav'], a[href$='.mpg'], a[href$='.mov'], a[href$='.ram'], a[href$='.aif']",
        "testability": 0,
        "tags" : [ "link", "media", "content" ]
    },
    "aMustContainText": {
        "type": "custom",
        "callback": "aMustContainText",
        "testability": 1,
        "tags" : [ "link", "content" ]
    },
    "aMustHaveTitle": {
        "type": "selector",
        "selector": "a:not(a[title])",
        "testability": 1,
        "tags" : [ "linK", "content" ]
    },
    "aMustNotHaveJavascriptHref": {
        "type": "selector",
        "selector": "a[href^='javascript:']",
        "testability": 1,
        "tags" : [ "link", "content" ]
    },
    "aSuspiciousLinkText": {
        "type": "custom",
        "callback": "aSuspiciousLinkText",
        "testability": 1,
        "tags" : [ "link", "content" ]
    },
    "aTitleDescribesDestination": {
        "type": "selector",
        "selector": "a[title]",
        "testability": 0,
        "tags" : [ "link", "content" ]
    },
    "addressForAuthor": {
        "type": "selector",
        "selector": "body:not(body:has(address))",
        "testability": 1,
        "tags" : [ "document" ]
    },
    "addressForAuthorMustBeValid": {
        "type": "selector",
        "selector": "address",
        "testability": 0.5,
        "tags" : [ "document" ]
    },
    "appletContainsTextEquivalent": {
        "type": "custom",
        "callback": "appletContainsTextEquivalent",
        "testability": 1,
        "tags" : [ "objects", "applet", "content" ]
    },
    "appletContainsTextEquivalentInAlt": {
        "type": "placeholder",
        "selector": "applet",
        "attribute": "alt",
        "empty": true,
        "testability": 0.5,
        "tags" : [ "objects", "applet", "content" ]
    },
    "appletProvidesMechanismToReturnToParent": {
        "type": "selector",
        "selector": "applet",
        "testability": 0,
        "tags" : [ "objects", "applet", "content" ]
    },
    "appletTextEquivalentsGetUpdated": {
        "type": "selector",
        "selector": "applet",
        "testability": 0,
        "tags" : [ "objects", "applet", "content" ]
    },
    "appletUIMustBeAccessible": {
        "type": "selector",
        "selector": "applet",
        "testability": 0,
        "tags" : [ "objects", "applet", "content" ]
    },
    "appletsDoNotFlicker": {
        "type": "selector",
        "selector": "applet",
        "testability": 0,
        "tags" : [ "objects", "applet", "content" ]
    },
    "appletsDoneUseColorAlone": {
        "type": "selector",
        "selector": "applet",
        "testability": 0,
        "tags" : [ "objects", "applet", "content" ]
    },
    "areaAltIdentifiesDestination": {
        "type": "selector",
        "selector": "area[alt]",
        "testability": 0,
        "tags" : [ "objects", "applet", "content" ]
    },
    "areaAltRefersToText": {
        "type": "selector",
        "selector": "area",
        "testability": 0,
        "tags" : [ "imagemap", "content" ]
    },
    "areaDontOpenNewWindow": {
        "type": "selector",
        "selector": "area[target='new window'], area[target=_new], area[target=_blank], area[target=_blank]",
        "testability": 1,
        "tags" : [ "imagemap", "content" ]
    },
    "areaHasAltValue": {
        "type": "selector",
        "selector": "area:not(area[alt])",
        "testability": 1,
        "tags" : [ "imagemap", "content" ]
    },
    "ariaOrphanedContent": {
        "type": "selector",
        "selector" : "body *:not(*[role] *, *[role], script, meta, link)",
        "testability": 1,
        "tags" : [ "aria", "content" ]
    },
    "areaLinksToSoundFile": {
        "type": "selector",
        "selector": "area[href$=wav], area[href$=snd], area[href$=mp3], area[href$=iff], area[href$=svx], area[href$=sam], area[href$=smp], area[href$=vce], area[href$=vox], area[href$=pcm], area[href$=aif]",
        "testability": 1,
        "tags" : [ "imagemap", "media", "content" ]
    },
    "basefontIsNotUsed": {
        "type": "selector",
        "selector": "basefont",
        "testability": 1,
        "tags" : [ "document", "deprecated" ]
    },
    "blinkIsNotUsed": {
        "type": "selector",
        "selector": "blink",
        "testability": 1,
        "tags" : [ "deprecated", "content" ]
    },
    "blockquoteNotUsedForIndentation": {
        "type": "selector",
        "selector": "blockquote:not(blockquote[cite])",
        "testability": 0.5,
        "tags" : [ "blockquote", "content" ]
    },
    "blockquoteUseForQuotations": {
        "type": "custom",
        "callback": "blockquoteUseForQuotations",
        "testability": 0.5,
        "tags" : [ "blockquote", "content" ]
    },
    "bodyActiveLinkColorContrast": {
        "type": "color",
        "algorithm": "wcag",
        "selector": "a:active",
        "bodyForegroundAttribute": "alink",
        "bodyBackgroundAttribute": "bgcolor",
        "testability": 1,
        "tags" : [ "document", "color" ]
    },
    "bodyColorContrast": {
        "type": "color",
        "algorithm": "wcag",
        "selector": "body",
        "bodyForegroundAttribute": "text",
        "bodyBackgroundAttribute": "bgcolor",
        "testability": 1,
        "tags" : [ "document", "color" ]
    },
    "bodyLinkColorContrast": {
        "type": "color",
        "algorithm": "wcag",
        "selector": "a",
        "bodyForegroundAttribute": "link",
        "bodyBackgroundAttribute": "bgcolor",
        "testability": 1,
        "tags" : [ "document", "color" ]
    },
    "bodyMustNotHaveBackground": {
        "type": "selector",
        "selector": "body[background]",
        "testability": 1,
        "tags" : [ "document", "color" ]
    },
    "bodyVisitedLinkColorContrast": {
        "type": "color",
        "algorithm": "wcag",
        "selector": "a:visited",
        "bodyForegroundAttribute": "vlink",
        "bodyBackgroundAttribute": "bgcolor",
        "testability": 1,
        "tags" : [ "link", "color" ]
    },
    "boldIsNotUsed": {
        "type": "selector",
        "selector": "bold",
        "testability": 1,
        "tags" : [ "semantics", "content" ]
    },
    "checkboxHasLabel": {
        "type": "label",
        "selector": "input[type=checkbox]",
        "testability": 1,
        "tags" : [ "form", "content" ]
    },
    "checkboxLabelIsNearby": {
        "type": "labelProximity",
        "selector": "input[type=checkbox]",
        "testability": 0.5,
        "tags" : [ "form", "content" ]
    },
    "cssDocumentMakesSenseStyleTurnedOff": {
        "type": "selector",
        "selector": "link[rel=stylesheet], stylesheet, *[style]",
        "testability": 0,
        "tags" : [ "color" ]
    },
    "cssTextHasContrast": {
        "type": "color",
        "algorithm": "wcag",
        "selector": "*",
        "bodyForegroundAttribute": "background",
        "bodyBackgroundAttribute": "color",
        "testability": 1,
        "tags" : [ "color" ]
    },
    "doctypeProvided": {
        "type": "custom",
        "callback": "doctypeProvided",
        "testability": 1,
        "tags" : [ "doctype" ]
    },
    "documentAbbrIsUsed": {
        "type": "custom",
        "callback": "documentAbbrIsUsed",
        "testability": 0.5,
        "tags" : [ "acronym", "content" ]
    },
    "documentAcronymsHaveElement": {
        "type": "custom",
        "callback": "documentAcronymsHaveElement",
        "testability": 0.5,
        "tags" : [ "acronym", "content" ]
    },
    "documentAllColorsAreSet": {
        "type": "selector",
        "selector": "body:not(body[text][bgcolor][link][alink][vlink], body:not(body[text], body[bgcolor], body[link], body[alink], body[vlink]))",
        "testability": 1,
        "tags" : [ "deprecated", "color" ]
    },
    "documentAutoRedirectNotUsed": {
        "type": "selector",
        "selector": "meta[http-equiv=refresh]",
        "testability": 1,
        "tags" : [ "document" ]
    },
    "documentColorWaiActiveLinkAlgorithm": {
        "type": "color",
        "algorithm": "wai",
        "selector": "a:active",
        "bodyForegroundAttribute": "alink",
        "bodyBackgroundAttribute": "bgcolor",
        "testability": 1,
        "tags" : [ "document", "color" ]
    },
    "documentColorWaiAlgorithm": {
        "type": "color",
        "algorithm": "wai",
        "bodyForegroundAttribute": "text",
        "bodyBackgroundAttribute": "bgcolor",
        "selector": "body",
        "testability": 1,
        "tags" : [ "document", "color" ]
    },
    "documentColorWaiLinkAlgorithm": {
        "type": "color",
        "algorithm": "wai",
        "selector": "a",
        "bodyForegroundAttribute": "link",
        "bodyBackgroundAttribute": "bgcolor",
        "testability": 1,
        "tags" : [ "document", "color" ]
    },
    "documentColorWaiVisitedLinkAlgorithm": {
        "type": "color",
        "algorithm": "wai",
        "selector": "a:visited",
        "bodyForegroundAttribute": "vlink",
        "bodyBackgroundAttribute": "bgcolor",
        "testability": 1,
        "tags" : [ "document", "color" ]
    },
    "documentContentReadableWithoutStylesheets": {
        "type": "selector",
        "selector": "html:has(link[rel=stylesheet], style) body, body:has(*[style])",
        "testability": 0,
        "tags" : [ "document", "color" ]
    },
    "documentHasTitleElement": {
        "type": "selector",
        "selector": "html:not(html:has(title))",
        "testability": 1,
        "tags" : [ "document", "head" ]
    },
    "documentIDsMustBeUnique": {
        "type": "custom",
        "callback": "documentIDsMustBeUnique",
        "testability": 1,
        "tags" : [ "document", "sematnics" ]
    },
    "documentLangIsISO639Standard": {
        "type": "custom",
        "callback": "documentLangIsISO639Standard",
        "testability": 1,
        "tags" : [ "document", "language" ]
    },
    "documentLangNotIdentified": {
        "type": "selector",
        "selector": "html:not(html[lang])",
        "testability": 1,
        "tags" : [ "document", "language" ]
    },
    "documentMetaNotUsedWithTimeout": {
        "type": "selector",
        "selector": "meta[http-equiv=refresh]",
        "testability": 1,
        "tags" : [ "document"]
    },
    "documentReadingDirection": {
        "type": "selector",
        "selector": "*[lang=he]:not(*[dir=rtl]), *[lang=ar]:not(*[dir=rtl])",
        "testability": 0.5,
        "tags" : [ "document", "language" ]
    },
    "documentStrictDocType": {
        "type": "custom",
        "callback": "documentStrictDocType",
        "testability": 1,
        "tags" : [ "document", "doctype" ]
    },
    "documentTitleDescribesDocument": {
        "type": "selector",
        "selector": "head title:first",
        "testability": 0,
        "tags" : [ "document", "head" ]
    },
    "documentTitleIsNotPlaceholder": {
        "type": "placeholder",
        "selector": "head title:first",
        "content": true,
        "testability": 1,
        "tags" : [ "document", "head" ]
    },
    "documentTitleIsShort": {
        "type": "custom",
        "callback": "documentTitleIsShort",
        "testability": 0.5,
        "tags" : [ "document", "head"]
    },
    "documentTitleNotEmpty": {
        "type": "placeholder",
        "selector": "head title",
        "empty": true,
        "content": true,
        "testability": 1,
        "tags" : [ "document", "head"]
    },
    "documentValidatesToDocType": {
        "type": "custom",
        "callback": "documentValidatesToDocType",
        "testability": 1,
        "tags" : [ "document", "doctype" ]
    },
    "documentVisualListsAreMarkedUp": {
        "type": "custom",
        "callback": "documentVisualListsAreMarkedUp",
        "testability": 1,
        "tags" : [ "list", "semantics", "content" ]
    },
    "documentWordsNotInLanguageAreMarked": {
        "type": "selector",
        "selector": "body",
        "testability": 0,
        "tags" : [ "language" ]
    },
    "documentIsWrittenClearly": {
        "type": "custom",
        "callback": "documentIsWrittenClearly",
        "testability": 0.5,
        "tags" : [ "language", "content" ]
    },
    "embedHasAssociatedNoEmbed": {
        "type": "custom",
        "callback": "embedHasAssociatedNoEmbed",
        "testability": 1,
        "tags" : [ "object", "embed", "content" ]
    },
    "embedMustHaveAltAttribute": {
        "type": "selector",
        "selector": "embed:not(embed[alt])",
        "testability": 1,
        "tags" : [ "object", "embed", "content" ]
    },
    "embedMustNotHaveEmptyAlt": {
        "type": "selector",
        "selector": "embed[alt=]",
        "testability": 1,
        "tags" : [ "object", "embed", "content" ]
    },
    "embedProvidesMechanismToReturnToParent": {
        "type": "selector",
        "selector": "embed",
        "testability": 0,
        "tags" : [ "object", "embed", "content" ]
    },
    "emoticonsExcessiveUse": {
        "type": "custom",
        "callback": "emoticonsExcessiveUse",
        "testability": 0.5,
        "tags" : [ "language", "emoticons", "content" ]
    },
    "emoticonsMissingAbbr": {
        "type": "custom",
        "callback": "emoticonsMissingAbbr",
        "testability": 1,
        "tags" : [ "language", "emoticons", "content" ]
    },
    "fileHasLabel": {
        "type": "label",
        "selector": "input[type=file]",
        "testability": 1,
        "tags" : [ "form", "content" ]
    },
    "fileLabelIsNearby": {
        "type": "labelProximity",
        "selector": "input[type=file]",
        "testability": 0.5,
        "tags" : [ "form", "content" ]
    },
    "fontIsNotUsed": {
        "type": "selector",
        "selector": "font",
        "testability": 1,
        "tags" : [ "deprecated", "content" ]
    },
    "formDeleteIsReversable": {
        "type": "selector",
        "selector": "form",
        "testability": 0,
        "tags" : [ "form", "content" ]
    },
    "formAllowsCheckIfIrreversable": {
        "type": "selector",
        "selector": "form",
        "testability": 0,
        "tags" : [ "form", "content" ]
    },
    "formErrorMessageHelpsUser": {
        "type": "selector",
        "selector": "form",
        "testability": 0,
        "tags" : [ "form", "content" ]
    },
    "formHasGoodErrorMessage": {
        "type": "selector",
        "selector": "form",
        "testability": 0,
        "tags" : [ "form", "content" ]
    },
    "formWithRequiredLabel": {
        "type": "custom",
        "callback": "formWithRequiredLabel",
        "testability": 0,
        "tags" : [ "form", "content" ]
    },
    "frameIsNotUsed": {
        "type": "selector",
        "selector": "frame",
        "testability": 1,
        "tags" : [ "deprecated", "frame" ]
    },
    "frameRelationshipsMustBeDescribed": {
        "type": "selector",
        "selector": "frameset:not(frameset[longdesc])",
        "testability": 0.5,
        "tags" : [ "deprecated", "frame" ]
    },
    "frameSrcIsAccessible": {
        "type": "selector",
        "selector": "frame",
        "testability": 0,
        "tags" : [ "deprecated", "frame" ]
    },
    "framesetIsNotUsed": {
        "type": "selector",
        "selector": "frameset",
        "testability": 1,
        "tags" : [ "deprecated", "frame" ]
    },
    "frameTitlesDescribeFunction": {
        "type": "placeholder",
        "selector": "frame[title]",
        "attribute": "title",
        "empty": true,
        "testability": 0,
        "tags" : [ "deprecated", "frame" ]
    },
    "frameTitlesNotEmpty": {
        "type": "selector",
        "selector": "frame:not(frame[title]), frame[title=]",
        "testability": 1,
        "tags" : [ "deprecated", "frame" ]
    },
    "frameTitlesNotPlaceholder": {
        "type": "placeholder",
        "selector": "frame",
        "attribute": "title",
        "testability": 1,
        "tags" : [ "deprecated", "frame"]
    },
    "framesHaveATitle": {
        "type": "selector",
        "selector": "frame:not(frame[title])",
        "testability": 1,
        "tags" : [ "deprecated", "frame" ]
    },
    "framesetMustHaveNoFramesSection": {
        "type": "selector",
        "selector": "frameset:not(frameset:has(noframes))",
        "testability": 0.5,
        "tags" : [ "deprecated", "frame" ]
    },
    "headerH1": {
        "type": "header",
        "selector": "h1",
        "testability": 0,
        "tags" : [ "header", "content" ]
    },
    "headerH2": {
        "type": "header",
        "selector": "h2",
        "testability": 0,
        "tags" : [ "header", "content" ]
    },
    "headerH3": {
        "type": "header",
        "selector": "h3",
        "testability": 0,
        "tags" : [ "header", "content" ]
    },
    "headerH4": {
        "type": "header",
        "selector": "h4",
        "testability": 0,
        "tags" : [ "header", "content" ]
    },
    "headerH5": {
        "type": "header",
        "selector": "h5",
        "testability": 0,
        "tags" : [ "header", "content" ]
    },
    "headerH1Format": {
        "type": "selector",
        "selector": "h1",
        "testability": 0,
        "tags" : [ "header", "content" ]
    },
    "headerH2Format": {
        "type": "selector",
        "selector": "h2",
        "testability": 0,
        "tags" : [ "header", "content" ]
    },
    "headerH3Format": {
        "type": "selector",
        "selector": "h3",
        "testability": 0,
        "tags" : [ "header", "content" ]
    },
    "headerH4Format": {
        "type": "selector",
        "selector": "h4",
        "testability": 0,
        "tags" : [ "header", "content" ]
    },
    "headerH5Format": {
        "type": "selector",
        "selector": "h5",
        "testability": 0,
        "tags" : [ "header", "content" ]
    },
    "headerH6Format": {
        "type": "selector",
        "selector": "h6",
        "testability": 0,
        "tags" : [ "header", "content" ]
    },
    "headersHaveText": {
        "type": "placeholder",
        "selector": "h1, h2, h3, h4, h5, h6",
        "content": true,
        "empty": true,
        "testability": 1,
        "tags" : [ "header", "content" ]
    },
    "headersUseToMarkSections": {
        "type": "custom",
        "callback": "headersUseToMarkSections",
        "testability": 0.5,
        "tags" : [ "header", "content" ]
    },
    "iIsNotUsed": {
        "type": "selector",
        "selector": "i",
        "testability": 1,
        "tags" : [ "deprecated", "content" ]
    },
    "iframeMustNotHaveLongdesc": {
        "type": "selector",
        "selector": "iframe[longdesc]",
        "testability": 1,
        "tags" : [ "objects", "iframe", "content" ]
    },
    "imageMapServerSide": {
        "type": "selector",
        "selector": "img[ismap]",
        "testability": 1,
        "tags" : [ "objects", "iframe", "content" ]
    },
    "imgAltEmptyForDecorativeImages": {
        "type": "selector",
        "selector": "img[alt]",
        "testability": 0,
        "tags" : [ "image", "content" ]
    },
    "imgAltIdentifiesLinkDestination": {
        "type": "selector",
        "selector": "a img[alt]:first",
        "testability": 0,
        "tags" : [ "image", "content" ]
    },
    "imgAltIsDifferent": {
        "type": "custom",
        "callback": "imgAltIsDifferent",
        "testability": 0.5,
        "tags" : [ "image", "content" ]
    },
    "imgAltIsSameInText": {
        "type": "selector",
        "selector": "img",
        "testability": 0,
        "tags" : [ "image", "content" ]
    },
    "imgAltIsTooLong": {
        "type": "custom",
        "callback": "imgAltIsTooLong",
        "testability": 1,
        "tags" : [ "image", "content" ]
    },
    "imgAltNotEmptyInAnchor": {
        "type": "custom",
        "callback": "imgAltNotEmptyInAnchor",
        "testability": 1,
        "tags" : [ "image", "content" ]
    },
    "imgAltNotPlaceHolder": {
        "type": "placeholder",
        "selector": "img",
        "attribute": "alt",
        "testability": 1,
        "tags" : [ "image", "content" ]
    },
    "imgAltTextNotRedundant": {
        "type": "custom",
        "callback": "imgAltTextNotRedundant",
        "testability": 1,
        "tags" : [ "image", "content" ]
    },
    "imgGifNoFlicker": {
        "type": "custom",
        "callback": "imgGifNoFlicker",
        "testability": 1,
        "tags" : [ "image", "content" ]
    },
    "imgHasAlt": {
        "type": "selector",
        "selector": "img:not(img[alt])",
        "testability": 1,
        "tags" : [ "image", "content" ]
    },
    "imgHasLongDesc": {
        "type": "custom",
        "callback": "imgHasLongDesc",
        "testability": 1,
        "tags" : [ "image", "content" ]
    },
    "imgImportantNoSpacerAlt": {
        "type": "custom",
        "callback": "imgImportantNoSpacerAlt",
        "testability": 0.5,
        "tags" : [ "image", "content" ]
    },
    "imgMapAreasHaveDuplicateLink": {
        "type": "custom",
        "callback": "imgMapAreasHaveDuplicateLink",
        "testability": 1,
        "tags" : [ "image", "imagemap" ]
    },
    "imgNonDecorativeHasAlt": {
        "type": "custom",
        "callback": "imgNonDecorativeHasAlt",
        "testability": 0.5,
        "tags" : [ "image", "content" ]
    },
    "imgNotReferredToByColorAlone": {
        "type": "selector",
        "selector": "img",
        "testability": 0,
        "tags" : [ "image", "color", "content" ]
    },
    "imgServerSideMapNotUsed": {
        "type": "selector",
        "selector": "img[ismap]",
        "testability": 1,
        "tags" : [ "image", "imagemap", "content" ]
    },
    "imgShouldNotHaveTitle": {
        "type": "selector",
        "selector": "img[title]",
        "testability": 1,
        "tags" : [ "image", "content" ]
    },
    "imgWithMapHasUseMap": {
        "type": "selector",
        "selector": "img[ismap]:not(img[usemap])",
        "testability": 1,
        "tags" : [ "image", "imagemap", "content" ]
    },
    "imgWithMathShouldHaveMathEquivalent": {
        "type": "custom",
        "callback": "imgWithMathShouldHaveMathEquivalent",
        "testability": 0,
        "tags" : [ "image", "content" ]
    },
    "inputCheckboxHasTabIndex": {
        "type": "placeholder",
        "selector": "input[type=checkbox]",
        "attribute": "tabindex",
        "empty": true,
        "testability": 1,
        "tags" : [ "form", "content" ]
    },
    "inputCheckboxRequiresFieldset": {
        "type": "custom",
        "callback": "inputCheckboxRequiresFieldset",
        "testability": 1,
        "tags" : [ "form", "content" ]
    },
    "inputDoesNotUseColorAlone": {
        "type": "selector",
        "selector": "input:not(input[type=hidden])",
        "testability": 0,
        "tags" : [ "form", "color", "content" ]
    },
    "inputElementsDontHaveAlt": {
        "type": "selector",
        "selector": "input[type!=image][alt]",
        "testability": 1,
        "tags" : [ "form", "content" ]
    },
    "inputFileHasTabIndex": {
        "type": "placeholder",
        "selector": "input[type=file]",
        "attribute": "tabindex",
        "empty": true,
        "testability": 1,
        "tags" : [ "form", "tabindex" ]
    },
    "inputImageAltIdentifiesPurpose": {
        "type": "selector",
        "selector": "input[type=image][alt]",
        "testability": 0,
        "tags" : [ "form", "content" ]
    },
    "inputImageAltIsNotFileName": {
        "type": "custom",
        "callback": "inputImageAltIsNotFileName",
        "testability": 1,
        "tags" : [ "form", "image", "content" ]
    },
    "inputImageAltIsNotPlaceholder": {
        "type": "placeholder",
        "selector": "input[type=image]",
        "attribute": "alt",
        "testability": 1,
        "tags" : [ "form", "image", "content" ]
    },
    "inputImageAltIsShort": {
        "type": "custom",
        "callback": "inputImageAltIsShort",
        "testability": 1,
        "tags" : [ "form", "image", "content" ]
    },
    "inputImageAltNotRedundant": {
        "type": "custom",
        "callback": "inputImageAltNotRedundant",
        "testability": 1,
        "tags" : [ "form", "image", "content" ]
    },
    "inputImageHasAlt": {
        "type": "selector",
        "selector": "input[type=image]:not(input[type=image][alt])",
        "testability": 1,
        "tags" : [ "form", "image", "content" ]
    },
    "inputImageNotDecorative": {
        "type": "selector",
        "selector": "input[type=image]",
        "testability": 0,
        "tags" : [ "form", "image", "content" ]
    },
    "inputPasswordHasTabIndex": {
        "type": "placeholder",
        "selector": "input[type=password]",
        "attribute": "tabindex",
        "empty": true,
        "testability": 1,
        "tags" : [ "form", "content" ]
    },
    "inputRadioHasTabIndex": {
        "type": "placeholder",
        "selector": "input[type=radio]",
        "attribute": "tabindex",
        "empty": true,
        "testability": 1,
        "tags" : [ "form", "content" ]
    },
    "inputSubmitHasTabIndex": {
        "type": "placeholder",
        "selector": "input[type=submit]",
        "attribute": "tabindex",
        "empty": true,
        "testability": 1,
        "tags" : [ "form", "content" ]
    },
    "inputTextHasLabel": {
        "type": "label",
        "selector": "input[type=text]",
        "testability": 1,
        "tags" : [ "form", "content" ]
    },
    "inputTextHasTabIndex": {
        "type": "placeholder",
        "selector": "input[type=text]",
        "attribute": "tabindex",
        "empty": true,
        "testability": 1,
        "tags" : [ "form", "content" ]
    },
    "inputTextHasValue": {
        "type": "placeholder",
        "selector": "input[type=text]",
        "empty": true,
        "attribute": "value",
        "testability": 1,
        "tags" : [ "form", "content" ]
    },
    "inputTextValueNotEmpty": {
        "type": "placeholder",
        "selector": "input[type=text]",
        "attribute": "value",
        "empty": true,
        "testability": 1,
        "tags" : [ "form", "content" ]
    },
    "labelDoesNotContainInput": {
        "type": "selector",
        "selector": "label:has(input)",
        "testability": 1,
        "tags" : [ "form", "content" ]
    },
    "labelMustBeUnique": {
        "type": "custom",
        "callback": "labelMustBeUnique",
        "testability": 1,
        "tags" : [ "form", "content" ]
    },
    "labelMustNotBeEmpty": {
        "type": "placeholder",
        "selector": "label",
        "content": true,
        "empty": true,
        "testability": 1,
        "tags" : [ "form", "content" ]
    },
    "labelsAreAssignedToAnInput": {
        "type": "custom",
        "callback": "labelsAreAssignedToAnInput",
        "testability": 1,
        "tags" : [ "form", "content" ]
    },
    "legendDescribesListOfChoices": {
        "type": "selector",
        "selector": "legend",
        "testability": 0,
        "tags" : [ "form", "content" ]
    },
    "legendTextNotEmpty": {
        "type": "selector",
        "selector": "legend:empty",
        "testability": 1,
        "tags" : [ "form", "content" ]
    },
    "legendTextNotPlaceholder": {
        "type": "placeholder",
        "selector": "legend",
        "content": true,
        "emtpy": true,
        "testability": 1,
        "tags" : [ "form", "content" ]
    },
    "liDontUseImageForBullet": {
        "type": "selector",
        "selector": "li:has(img)",
        "testability": 0.5,
        "tags" : [ "list", "content" ]
    },
    "linkUsedForAlternateContent": {
        "type": "selector",
        "selector": "html:not(html:has(link[rel=alternate])) body",
        "testability": 0,
        "tags" : [ "document" ]
    },
    "linkUsedToDescribeNavigation": {
        "type": "selector",
        "selector": "html:not(html:has(link[rel=index]))",
        "testability": 1,
        "tags" : [ "document" ]
    },
    "listNotUsedForFormatting": {
        "type": "custom",
        "callback": "listNotUsedForFormatting",
        "testability": 0,
        "tags" : [ "list", "content" ]
    },
    "marqueeIsNotUsed": {
        "type": "selector",
        "selector": "marquee",
        "testability": 1,
        "tags" : [ "deprecated", "content" ]
    },
    "menuNotUsedToFormatText": {
        "type": "selector",
        "selector": "menu:not(menu li:parent(menu))",
        "testability": 0,
        "tags" : [ "list", "content" ]
    },
    "noembedHasEquivalentContent": {
        "type": "selector",
        "selector": "noembed",
        "testability": 0,
        "tags" : [ "objects", "content" ]
    },
    "noframesSectionMustHaveTextEquivalent": {
        "type": "selector",
        "selector": "frameset:not(frameset:has(noframes))",
        "testability": 0.5,
        "tags" : [ "deprecated" , "frame" ]
    },
    "objectContentUsableWhenDisabled": {
        "type": "selector",
        "selector": "object",
        "testability": 0,
        "tags" : [ "objects", "content" ]
    },
    "objectDoesNotFlicker": {
        "type": "selector",
        "selector": "object",
        "testability": 0,
        "tags" : [ "objects", "content" ]
    },
    "objectDoesNotUseColorAlone": {
        "type": "selector",
        "selector": "object",
        "testability": 0,
        "tags" : [ "objects", "content" ]
    },
    "objectInterfaceIsAccessible": {
        "type": "selector",
        "selector": "object",
        "testability": 0,
        "tags" : [ "objects", "content" ]
    },
    "objectLinkToMultimediaHasTextTranscript": {
        "type": "selector",
        "selector": "object",
        "testability": 0,
        "tags" : [ "objects", "content" ]
    },
    "objectMustContainText": {
        "type": "placeholder",
        "selector": "object",
        "empty": true,
        "content": true,
        "testability": 1,
        "tags" : [ "objects", "content" ]
    },
    "objectMustHaveEmbed": {
        "type": "selector",
        "selector": "object:not(object:has(embed))",
        "testability": 1,
        "tags" : [ "objects", "content" ]
    },
    "objectMustHaveTitle": {
        "type": "selector",
        "selector": "object:not(object[title])",
        "testability": 1,
        "tags" : [ "objects", "content" ]
    },
    "objectMustHaveValidTitle": {
        "type": "placeholder",
        "selector": "object",
        "attribute": "title",
        "empty": true,
        "testability": 1,
        "tags" : [ "objects", "content" ]
    },
    "objectProvidesMechanismToReturnToParent": {
        "type": "selector",
        "selector": "object",
        "testability": 0,
        "tags" : [ "objects", "content" ]
    },
    "objectShouldHaveLongDescription": {
        "type": "selector",
        "selector": "object",
        "testability": 0,
        "tags" : [ "objects", "content" ]
    },
    "objectTextUpdatesWhenObjectChanges": {
        "type": "selector",
        "selector": "object",
        "testability": 0,
        "tags" : [ "objects", "content" ]
    },
    "objectUIMustBeAccessible": {
        "type": "selector",
        "selector": "object",
        "testability": 0,
        "tags" : [ "objects", "content" ]
    },
    "objectWithClassIDHasNoText": {
        "type": "selector",
        "selector": "object[classid]:not(object[classid]:empty)",
        "testability": 1,
        "tags" : [ "objects", "content" ]
    },
    "pNotUsedAsHeader": {
        "type": "custom",
        "callback": "pNotUsedAsHeader",
        "testability": 1,
        "tags" : [ "header", "content" ]
    },
    "paragarphIsWrittenClearly": {
        "type": "custom",
        "callback": "paragarphIsWrittenClearly",
        "testability": 0.5,
        "tags" : [ "language", "content" ]
    },
    "passwordHasLabel": {
        "type": "label",
        "selector": "input[type=password]",
        "testability": 1,
        "tags" : [ "form", "content" ]
    },
    "passwordLabelIsNearby": {
        "type": "labelProximity",
        "selector": "input[type=password]",
        "testability": 0.5,
        "tags" : [ "form", "content" ]
    },
    "preShouldNotBeUsedForTabularLayout": {
        "type": "custom",
        "callback": "preShouldNotBeUsedForTabularLayout",
        "testability": 0,
        "tags" : [ "table", "content" ]
    },
    "radioHasLabel": {
        "type": "label",
        "selector": "input[type=radio]",
        "testability": 1,
        "tags" : [ "form", "content" ]
    },
    "radioLabelIsNearby": {
        "type": "labelProximity",
        "selector": "input[type=radio]",
        "testability": 0.5,
        "tags" : [ "form", "content" ]
    },
    "radioMarkedWithFieldgroupAndLegend": {
        "type": "selector",
        "selector": "input[type=radio]:not(fieldset input[type=radio])",
        "testability": 1,
        "tags" : [ "form", "content" ]
    },
    "scriptContentAccessibleWithScriptsTurnedOff": {
        "type": "selector",
        "selector": "script",
        "testability": 0,
        "tags" : [ "javascript" ]
    },
    "scriptInBodyMustHaveNoscript": {
        "type": "selector",
        "selector": "html:not(html:has(noscript)):has(script) body",
        "testability": 0.5,
        "tags" : [ "javascript" ]
    },
    "scriptOnclickRequiresOnKeypress": {
        "type": "event",
        "searchEvent": "onclick",
        "correspondingEvent": "onkeypress",
        "testability": 1,
        "tags" : [ "javascript" ]
    },
    "scriptOndblclickRequiresOnKeypress": {
        "type": "event",
        "searchEvent": "ondblclick",
        "correspondingEvent": "onkeypress",
        "testability": 1,
        "tags" : [ "javascript" ]
    },
    "scriptOnmousedownRequiresOnKeypress": {
        "type": "event",
        "searchEvent": "onmousedown",
        "correspondingEvent": "onkeydown",
        "testability": 1,
        "tags" : [ "javascript" ]
    },
    "scriptOnmousemove": {
        "type": "event",
        "searchEvent": "onmousemove",
        "correspondingEvent": "onkeypress",
        "testability": 1,
        "tags" : [ "javascript" ]
    },
    "scriptOnmouseoutHasOnmouseblur": {
        "type": "event",
        "searchEvent": "onmouseout",
        "correspondingEvent": "onblur",
        "testability": 1,
        "tags" : [ "javascript" ]
    },
    "scriptOnmouseoverHasOnfocus": {
        "type": "event",
        "searchEvent": "onmouseover",
        "correspondingEvent": "onfocus",
        "testability": 1,
        "tags" : [ "javascript" ]
    },
    "scriptOnmouseupHasOnkeyup": {
        "type": "event",
        "searchEvent": "onmouseup",
        "correspondingEvent": "onkeyup",
        "testability": 1,
        "tags" : [ "javascript" ]
    },
    "scriptUIMustBeAccessible": {
        "type": "selector",
        "selector": "script",
        "testability": 0,
        "tags" : [ "javascript" ]
    },
    "scriptsDoNotFlicker": {
        "type": "selector",
        "selector": "script",
        "testability": 0,
        "tags" : [ "javascript" ]
    },
    "scriptsDoNotUseColorAlone": {
        "type": "selector",
        "selector": "script",
        "testability": 0,
        "tags" : [ "javascript", "color" ]
    },
    "selectDoesNotChangeContext": {
        "type": "event",
        "selector": "select",
        "searchEvent": "onchange",
        "testability": 1,
        "tags" : [ "form", "content" ]
    },
    "selectHasAssociatedLabel": {
        "type": "label",
        "selector": "select",
        "testability": 1,
        "tags" : [ "form", "content" ]
    },
    "selectWithOptionsHasOptgroup": {
        "type": "selector",
        "selector": "select:not(select:has(optgroup)) option:nth-child(5)",
        "testability": 0.5,
        "tags" : [ "form", "content" ]
    },
    "selectJumpMenu": {
        "type": "custom",
        "callback": "selectJumpMenu",
        "testability": 0.5,
        "tags" : [ "form", "content" ]
    },
    "siteMap": {
        "type": "custom",
        "callback": "siteMap",
        "testability": 0,
        "tags" : [ "document" ]
    },
    "skipToContentLinkProvided": {
        "type": "selector",
        "selector": "body:not(body:has(a:first[href^=#]))",
        "testability": 0.5,
        "tags" : [ "document" ]
    },
    "svgContainsTitle": {
        "type": "selector",
        "selector": "svg:not(svg:has(title))",
        "testability": 1,
        "tags" : [ "image", "svg", "content" ]
    },
    "tabIndexFollowsLogicalOrder": {
        "type": "custom",
        "callback": "tabIndexFollowsLogicalOrder",
        "testability": 0.5,
        "tags" : [ "document" ]
    },
    "tableCaptionIdentifiesTable": {
        "type": "selector",
        "selector": "caption",
        "testability": 0,
        "tags" : [ "table", "content" ]
    },
    "tableComplexHasSummary": {
        "type": "selector",
        "selector": "table:not(table[summary], table:has(caption))",
        "testability": 0.5,
        "tags" : [ "table", "content" ]
    },
    "tableDataShouldHaveTh": {
        "type": "selector",
        "selector": "table:not(table:has(th))",
        "testability": 1,
        "tags" : [ "table", "content" ]
    },
    "tableHeaderLabelMustBeTerse": {
        "type": "custom",
        "callback": "tableHeaderLabelMustBeTerse",
        "testability": 0.5,
        "tags" : [ "table", "content" ]
    },
    "tableIsGrouped": {
        "type": "selector",
        "selector": "table:not(table:has(thead), table:has(tfoot))",
        "testability": 0.5,
        "tags" : [ "table", "content" ]
    },
    "tableLayoutDataShouldNotHaveTh": {
        "type": "custom",
        "callback": "tableLayoutDataShouldNotHaveTh",
        "testability": 0,
        "tags" : [ "table", "layout", "content" ]
    },
    "tableLayoutHasNoCaption": {
        "type": "custom",
        "callback": "tableLayoutHasNoCaption",
        "testability": 1,
        "tags" : [ "table", "layout", "content" ]
    },
    "tableLayoutHasNoSummary": {
        "type": "custom",
        "callback": "tableLayoutHasNoSummary",
        "testability": 0.5,
        "tags" : [ "table", "layout", "content" ]
    },
    "tableLayoutMakesSenseLinearized": {
        "type": "custom",
        "callback": "tableLayoutMakesSenseLinearized",
        "testability": 0,
        "tags" : [ "table", "layout", "content" ]
    },
    "tableSummaryDescribesTable": {
        "type": "selector",
        "selector": "table[summary]",
        "testability": 0,
        "tags" : [ "table", "content" ]
    },
    "tableSummaryDoesNotDuplicateCaption": {
        "type": "custom",
        "callback": "tableSummaryDoesNotDuplicateCaption",
        "testability": 1,
        "tags" : [ "table", "content" ]
    },
    "tableSummaryIsEmpty": {
        "type": "placeholder",
        "selector": "table[summary]",
        "attribute": "summary",
        "empty": true,
        "testability": 0.5,
        "tags" : [ "table", "content" ]
    },
    "tableSummaryIsSufficient": {
        "type": "selector",
        "selector": "table[summary]",
        "testability": 0,
        "tags" : [ "table", "content" ]
    },
    "tableSummaryIsNotTooLong": {
        "type": "custom",
        "callback": "tableSummaryIsNotTooLong",
        "testability": 0,
        "tags" : [ "table", "content" ]
    },
    "tableNotUsedForLayout": {
        "type": "custom",
        "callback": "tableNotUsedForLayout",
        "testability": 0.5,
        "tags" : [ "table", "layout" ]
    },
    "tableUseColGroup": {
        "type": "custom",
        "callback": "tableUseColGroup",
        "testability": 0,
        "tags" : [ "table", "content" ]
    },
    "tableUsesScopeForRow": {
        "type": "custom",
        "callback": "tableUsesScopeForRow",
        "testability": 0.5,
        "tags" : [ "table", "content" ]
    },
    "tableUsesAbbreviationForHeader": {
        "type": "custom",
        "callback": "tableUsesAbbreviationForHeader",
        "testability": 0,
        "tags" : [ "table", "content" ]
    },
    "tableUsesCaption": {
        "type": "selector",
        "selector": "table:not(table:has(caption))",
        "testability": 1,
        "tags" : [ "table", "content" ]
    },
    "tableWithBothHeadersUseScope": {
        "type": "selector",
        "selector": "table:has(tr:not(table tr:first) th:not(th[scope]))",
        "testability": 0.5,
        "tags" : [ "table", "content" ]
    },
    "tableWithMoreHeadersUseID": {
        "type": "custom",
        "callback": "tableWithMoreHeadersUseID",
        "testability": 0.5,
        "tags" : [ "table", "content" ]
    },
    "tabularDataIsInTable": {
        "type": "custom",
        "callback": "tabularDataIsInTable",
        "testability": 0.5,
        "tags" : [ "table", "content" ]
    },
    "textareaHasAssociatedLabel": {
        "type": "label",
        "selector": "textarea",
        "testability": 1,
        "tags" : [ "form", "content" ]
    },
    "textareaLabelPositionedClose": {
        "type": "labelProximity",
        "selector": "textarea",
        "testability": 0.5,
        "tags" : [ "form", "content" ]
    },
    "textIsNotSmall": {
        "type": "custom",
        "callback": "textIsNotSmall",
        "testability": 0.5,
        "tags" : [ "textsize", "content" ]
    },
    "videoProvidesCaptions": {
        "type": "selector",
        "selector": "video",
        "testability": 0.5,
        "tags" : [ "media", "content" ]
    },
    "videosEmbeddedOrLinkedNeedCaptions": {
        "type": "custom",
        "callback": "videosEmbeddedOrLinkedNeedCaptions",
        "testability": 1,
        "tags" : [ "media", "content" ]
    }
}
{'fraction_non_alphanumeric': 0.19300612345447293, 'fraction_numerical': 0.007202683996903081, 'mean_word_length': 2.1951649175412293, 'pattern_counts': {'":': 1968, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 6, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6241013', 'n_tokens_mistral': 28133, 'n_tokens_neox': 27506, 'n_words': 4860}