SiteLint documentation and guidelinesDocumentationGet startedAdd SiteLint to your siteGenerate an Accessibility StatementHow to check if SiteLint is workingTroubleshooting recording issuesSecurityFrequently Asked QuestionsAdd SiteLint logo to your siteData reporting limitsOur servicesPlatformAccessibilityA link and its image may not have duplicate text contentA link needs a destination to function properlyA link to another location on the page does not have a corresponding targetA meta element must not have an http-equiv=”refresh” attributeA single element should only describe one form control.A single label element should only describe one form control.Accessibility an overlay has been detected on the pageAdjacent text and image link have the same destinationAdjacent text and images should link to the same destinationAlt text should avoid mentioning colors unless color is essential to understanding the imageAn aria-labelledby attribute must reference an element that contains meaningful contentAnimations should not loop indefinitelyApplet missing altApplet missing bodyApplets must have a text alternative when not supportedArea missing altAria attribute conflictAria hidden true focusable descendantsAria labelledby associationaria-required should only be used with form fields that are requiredAttribute title should not be emptyAudio alternativeAudio and video content need captions and subtitlesAudio and video content should not play automaticallyAudio content must have a text alternativeAudio or video should not play automaticallyAudio, video, and other media need captions or descriptionsAvoid excessive use of italic textAvoid flashing or flickering contentAvoid italic text on long contentAvoid using CSS outline attribute because it can hide the focus state of interactive elementsBackground image should not contain important information that isn’t available elsewhereBody text size should be at least 16pxBoth native HTML attributes and ARIA attributes should not be used togetherBroken same page linkButtons must have visible, accessible content that describes their action. Empty or unreachable buttons hinder accessibility.Captcha should be fully accessibleCheckboxes should be grouped togetherClick verbCode for writing direction must be set either ltr (left to right) or rtl (right to left) as appropriate for the languageCode id attribute should be uniqueCode main should be toplevel landmarkCode must be positioned properly relative to its associated form input element.Code or ARIA attributes must clearly describe input fieldsCode role=”contentinfo” should be defined only onceCode should be toplevel landmarkContent must not flash or flickerContent should not require scrolling in two directions (horizontally and vertically)Decorative images should not have a title attributeDo not instruct the user to reorient their deviceDo not use Adobe FlashDo not use Google reCAPTCHA v2Do not use obsolete attributesDo not use obsolete HTML elementsDo not use positive tabindexDo not use unsupported or incorrect role attribute on an elementDon’t rely on device motion (shake, tilt, rotate) for functionalityDon’t use “Click” for link textDon’t use the CSS text-indent to hide textDon’t use the same target anchor text more than onceEditable content (like form fields) need appropriate attributes for assistive technologyElement has the same content as its title attributeEmpty headingEmpty label elementEmpty link elementEnsure that content is still logically organized and understandable when CSS (styling) is disabled or unavailable.Ensure the element with role=”button is activated using the ENTER and SPACE keysENTER or SPACE key must be usable to activate a buttonFieldset no legendFlash should be avoided because it is not accessible and not all browsers support itFocusable elements should not be hidden from assistive technologiesForm control should be correctly associated with its label to be accessibleForm controls need labelsForm fields need a label explaining what it isForms must have a submit buttonGeneral altGroup elements name attributeGrouped form controls need a defined caption or descriptionHeading element (like H1) exists but has no contentHeadings (h1-h6) are essential for organizing content and creating a hierarchyHeadings hierarchyHeadings must be in order and not skip (e.g., H1 to H3)Html lang attrIf a label is visually hidden, it should still provide useful informationImage buttons must have an alternative description of their functionImage descriptions (alt text) must be clear and conciseImage inside of a link needs an alternative descriptionImage map area must have a text alternativeImages must have an alternative descriptionImages need a full and clear description (like or )Img empty alt with empty titleIncorrect label placement for associated inputInformation conveyed by color must also be available in textInput image missing altInteractive elements must have an area of at least 24 by 24 pixelsInvalid definition of input purposeInvalid HTML elements in the HEAD sectionLabel inappropriate associationLabel visually hidden onlyLabels for form elements must be clear and sufficientLabels should always contain meaningful text describing the associated form controlLink to a page in a different language should have a warningLink to external resource in different language should have an indicatorLinks must have a corresponding targetLinks need to be understandable and distinguishable from their surrounding textLinks not visually evident without color visionLinks should have descriptive, meaningful text that makes sense even when taken out of contextLinks should have meaningful, descriptive contentLinks should have meaningful, descriptive text instead of ambiguous URLsLinks should indicate if they’re going to open in a new windowMeaningful content sequenceMissing alternative description that describes the image button’s functionMissing an alternative description for an image inside a hyperlinkMissing attribute href on linkMissing attribute role=’textbox’ to identify an element that allows the input of free-form text.Missing captions or subtitles for an audio or video contentMissing defined or incorrectly associated form control for labelMissing labelMissing text alternative for the objectMissing the title attribute on iframeMisused aria attribute on a visible focusable elementMisused required attributeMultiple text links that look the same should also link to the same content (such as “Read more”)No headingsNon-text content must have an alternative descriptionObject general altObjects must have an alternative descriptionObsolete AngularJS 1.x detectedObsolete html elementsOnly use all caps for acronymsOutline zeroPage needs to declare the languagePages must not automatically refresh or redirect without user controlPages should have an H1Pop-ups and modals must have accessible namesRole applicationRtl contentSame label element associated with more than only one form controlScrolling both horizontally and vertically should not be requiredSet properly to match the correct reading order of content on the pageSet properly to match the correct reading order of content on the pageshould only be used with form fields that are required.Sticky positioning must not affect content readability when zoomedSVG content must have an accessible nameTable caption summary identicalTable missing descriptionTable row and column headerstable-summary-and-caption-content-should-be-differentTables should have elements that define headers for each column or rowTables should include a description (using a or an additional explanation)The attribute must reference an existing elementThe accessible names of sibling heading elements of the same level are not uniqueThe alt text of an image should describe the image’s content, not its filenameThe alt text of an image should describe the image’s content, not its filenameThe blink element should not be usedThe blink element should not be usedThe contrast ratio should be at least 4.5:1 for normal text and 3:1 for large text against a backgroundThe contrast ratio should be at least 4.5:1 for normal text and 3:1 for large text against a background.The contrast ratio should be at least 7:1 for normal text and 4.5:1 for large text against a backgroundThe contrast ratio should be at least 7:1 for normal text and 4.5:1 for large text against a background.The dir attribute for writing direction must be set either ltr (left to right) or rtl (right to left) as appropriate for the languageThe element must only contain region or search landmarksThe element should only be defined once on a page.The HTML label element must be positioned properly relative to its associated form input elementThe link should have a warning before automatically opening a new window or tabThe main element should only be defined once on a pageThe page should be clearly organized by landmarks likeThe title HTML element should clearly describe the content or purpose of the pageThe verb click must not be used in a linkthe-should-only-contain-elements-like-meta-and-linkThis link text content is unclear out of contextTitle and element content must be distinct and complementaryTitle for abbrTooltip content must not be emptyUnsupported size unit for svgUse attributes on input elements properly and only when they are neededUse to provide additional descriptions and context for elements (e.g., images, form fields) that need it.Use caution with aria-hidden=”false” because content may still be exposed unintentionallyUse caution with because content may still be exposed unintentionallyUse horizontal rule HR sparinglyUse role=”application” with caution to avoid to be treated like a desktop applicationUse to provide additional descriptions and context for elements (e.g., images, form fields) that need itUser must be able to zoom the page contentVerify that the content should be organized into meaningful sequences when linearized, e.g. when style sheets are disabled or unavailableVisually hidden label should have additional informationWhen using element to group related form controls, the element must be the first childWhen using fieldset element to group related form controls, the legend element must be the first child.QualityIllegal character in the domain for the attribute hrefIncorrect mime-type for the documentNon-standard file extensions used for the web app manifest fileThe errors were logged to the error consoleThe page content width is wider than the screen widthMissing charset declaration or it is not defined in the first 1024 bytes of the HTMLPerformanceAvoid displaying oversized imagesAvoid excessive CSS classes usage.Avoid including large svg elementsAvoid layout shifts caused by web fontsAvoid loading images that aren’t visibleMissing protocol HTTP2 that make your site faster, simpler, and more robustThe user waits a long time before it sees the first content on the screenPrivacyGoogle Analytics has no privacy extension enabledThe site uses insecure HTTP connections on HTTPS (Mixed Content)SecurityLinks to cross-origin destinations are unsafeMissing defined integrity value that enables browsers to verify that resources they fetch are delivered without unexpected manipulationMissing https protocol to protect privacy and integrity of the exchanged dataSEOAvoid meta description truncationExpected only one heading h1 on the pageMalformed JSON-LD foundMeta Description of the page is too long or too shortMissing defined canonical URLNever use the same target anchor text more than onceThe length of the first heading h1 should be at least 20 charactersThe length of the page title should be around 60 charactersThe page title words are not included in the page urlThere should only be one heading H1 on the pageLearningAccessibility and manual user testingAccessibility for content designersAccessibility for user experience (UX) designersBest practices for SEOBest practices for software development and testingTips for writing high quality web applicationsOtherGive us a review on the WordPress.orgGuest article guidelines for contributorsNPMToolsLaboratoryCode or ARIA attributes must clearly describe input fields