HTML5 Web Standard
Rules governing relationships between HTML5 elements and attributes.
Rules
- bdomust have a- dirattribute
- labelelements may not contain multiple form controls
- formust refer to a non-hidden form control
- sectionmust not appear inside- address
- navmust not appear inside- address
- articlemust not appear inside- address
- asidemust not appear inside- address
- footermust not appear inside- headerelement
- footermust not appear inside- footerelement
- footermust not appear inside- addresselement
- h1must not appear inside- address
- h2must not appear inside- address
- h3must not appear inside- address
- h4must not appear inside- address
- h5must not appear inside- address
- h6must not appear inside- address
- headermust not appear inside- footer
- headermust not appear inside- address
- headermust not appear inside- header
- tablemust not appear inside- caption
- summaryis obsolete
- acannot have clickable ancestor- a
- detailscannot have clickable ancestor- a
- embedcannot have clickable ancestor- a
- iframecannot have clickable ancestor- a
- labelcannot have clickable ancestor- a
- acannot have clickable ancestor- button
- detailscannot have clickable ancestor- button
- embedcannot have clickable ancestor- button
- iframecannot have clickable ancestor- button
- labelcannot have clickable ancestor- button
- buttoncannot have clickable ancestor- a
- textareacannot have clickable ancestor- a
- selectcannot have clickable ancestor- a
- inputcannot have clickable ancestor- a
- buttoncannot have clickable ancestor- button
- textareacannot have clickable ancestor- button
- selectcannot have clickable ancestor- button
- inputcannot have clickable ancestor- button
- buttoninside- labelwith- formust have an- idmatching- for
- textareainside- labelwith- formust have an- idmatching- for
- selectinside- labelwith- formust have an- idmatching- for
- inputinside- labelwith- formust have an- idmatching- for
- videowith- controlsmust not appear as a descendant of- a
- audiowith- controlsmust not appear as a descendant of- a
- videowith- controlsmust not appear as a descendant of- button
- audiowith- controlsmust not appear as a descendant of- button
- menuwith- type=toolbarmust not appear inside- a
- menuwith- type=toolbarmust not appear inside- button
- imgwith- usemapmust not appear inside- a
- imgwith- usemapmust not appear inside- button
- objectwith- usemapmust not appear inside- a
- objectwith- usemapmust not appear inside- button
- areamust be inside a- mapelement
- imgwith- ismapmust be inside an- aelement with an- href
- listattribute must refer to a- datalistelement
- input type=buttonmust not have empty- valueattribute
- labelattribute must not be empty
- defaultattribute can only appear on one track inside- audioor- video
- idon a- mapelement must be identical to the- nameattribute
- Multiple selected options only allowed when selecthasmultipleattribute
- selectwith- requiredmust contain an- optionelement
- First optionin a requiredselectdropdown must have an emptyvalueor empty text content
- language=JavaScriptcan only be used with- type='text/javascript'
- scriptcannot have attribute- charsetunless- srcis specified
- scriptcannot have attribute- deferunless- srcis specified
- scriptcannot have attribute- asyncunless- srcor- type=moduleis specified
- progressmust not appear inside another- progresselement
- Progress valuemust not be greater thanmax
- Progress valuemust not be greater than 1.0
- metermust not appear inside another- meterelement
- minmust not be greater than- value
- valuemust be greater than or equal to 0 if- minnot specified
- valuemust not be greater than- max
- valuemust be less than or equal to 1 if- maxnot specified
- minmust not be greater than- max
- maxmust be greater than or equal to 0 if- minnot specified
- minmust be less than or equal to 1 if- maxnot specified
- minmust not be greater than- low
- lowmust be greater than or equal to 0 if- minnot specified
- minmust not be greater than- high
- highmust be greater than or equal to 0 if- minnot specified
- lowmust not be greater than- high
- highmust not be greater than- max
- highmust be less than or equal to 1 if- maxnot specified
- lowmust not be greater than- max
- lowmust be less than or equal to 1 if- maxnot specified
- minmust not be greater than- optimum
- optimummust be greater than or equal to 0 if- minnot specified
- optimummust not be greater than- max
- optimummust be less than or equal to 1 if- maxnot specified
- acronymis obsolete
- appletis obsolete
- centeris obsolete
- fontis obsolete
- bigis obsolete
- strikeis obsolete
- ttis obsolete
- basefontis obsolete
- diris obsolete
- framesetis obsolete
- noframesis obsolete
- coordson- ais obsolete
- shapeon- ais obsolete
- urnon- ais obsolete
- charseton- ais obsolete
- methodson- ais obsolete
- targeton- linkis obsolete
- urnon- linkis obsolete
- charseton- linkis obsolete
- methodson- linkis obsolete
- nohrefon- areais obsolete
- nameon- embedis obsolete
- profileon- headis obsolete
- versionon- htmlis obsolete
- nameon- imgis obsolete
- usemapon- inputis obsolete
- typeon the- lielement is obsolete
- typeon the- ulelement is obsolete
- schemeon- metais obsolete
- meta http-equiv=content-languageis obsolete
- archiveon- objectis obsolete
- classidon- objectis obsolete
- codeon- objectis obsolete
- codebaseon- objectis obsolete
- codetypeon- objectis obsolete
- declareon- objectis obsolete
- standbyon- objectis obsolete
- nameon- optionis obsolete
- typeon- paramis obsolete
- valuetypeon- paramis obsolete
- languageon- scriptis obsolete
- scopeon- tdis obsolete
- abbron- tdis obsolete
- axison- tdis obsolete
- axison- this obsolete
- alignon- captionis obsolete
- alignon- iframeis obsolete
- alignon- imgis obsolete
- alignon- inputis obsolete
- alignon- objectis obsolete
- alignon- embedis obsolete
- alignon- legendis obsolete
- alignon- tableis obsolete
- alignon- hris obsolete
- alignon- divis obsolete
- alignon- h1is obsolete
- alignon- h2is obsolete
- alignon- h3is obsolete
- alignon- h4is obsolete
- alignon- h5is obsolete
- alignon- h6is obsolete
- alignon- pis obsolete
- alignon- colis obsolete
- alignon- colgroupis obsolete
- alignon- tbodyis obsolete
- alignon- tdis obsolete
- alignon- tfootis obsolete
- alignon- this obsolete
- alignon- theadis obsolete
- alignon- tris obsolete
- widthon- colis obsolete
- widthon- colgroupis obsolete
- widthon- hris obsolete
- widthon- preis obsolete
- widthon- tableis obsolete
- widthon- tdis obsolete
- widthon- this obsolete
- charon- colis obsolete
- charon- colgroupis obsolete
- charon- tbodyis obsolete
- charon- tdis obsolete
- charon- tfootis obsolete
- charon- this obsolete
- charon- theadis obsolete
- charon- tris obsolete
- charoffon- colis obsolete
- charoffon- colgroupis obsolete
- charoffon- tbodyis obsolete
- charoffon- tdis obsolete
- charoffon- tfootis obsolete
- charoffon- this obsolete
- charoffon- theadis obsolete
- charoffon- tris obsolete
- valignon- colis obsolete
- valignon- colgroupis obsolete
- valignon- tbodyis obsolete
- valignon- tdis obsolete
- valignon- tfootis obsolete
- valignon- this obsolete
- valignon- theadis obsolete
- valignon- tris obsolete
- alinkon- bodyis obsolete
- backgroundon- bodyis obsolete
- bgcoloron- bodyis obsolete
- linkon- bodyis obsolete
- bottommarginon- bodyis obsolete
- marginheighton the- bodyelement is obsolete
- leftmarginon- bodyis obsolete
- rightmarginon- bodyis obsolete
- topmarginon the- bodyelement is obsolete
- marginwidthon the- bodyelement is obsolete
- texton- bodyis obsolete
- vlinkon- bodyis obsolete
- clearon- bris obsolete
- hspaceon- embedis obsolete
- vspaceon- embedis obsolete
- noshadeon the- hrelement is obsolete
- sizeon the- hrelement is obsolete
- coloron the- hrelement is obsolete
- compacton the- dlelement is obsolete
- compacton the- menuelement is obsolete
- compacton the- olelement is obsolete
- compacton the- ulelement is obsolete
- allowtransparencyon- iframeis obsolete
- frameborderon- iframeis obsolete
- marginheighton- iframeis obsolete
- marginwidthon- iframeis obsolete
- scrollingon- iframeis obsolete
- hspaceon the- imgelement is obsolete
- hspaceon the- objectelement is obsolete
- vspaceon the- imgelement is obsolete
- vspaceon the- objectelement is obsolete
- borderon the- imgelement is obsolete
- borderon the- objectelement is obsolete
- bgcoloron the- tableelement is obsolete
- borderon the- tableelement is obsolete
- cellpaddingon the- tableelement is obsolete
- cellspacingon the- tableelement is obsolete
- frameon the- tableelement is obsolete
- ruleson the- tableelement is obsolete
- bgcoloron the- tdelement is obsolete
- bgcoloron the- thelement is obsolete
- heighton the- tdelement is obsolete
- heighton the- thelement is obsolete
- nowrapon the- tdelement is obsolete
- nowrapon the- thelement is obsolete
- bgcoloron the- trelement is obsolete
- xml:langrequires- langwith same value to be present
- borderon- imgelement is obsolete
- languageon the- scriptelement is obsolete
- nameon the- aelement is obsolete
- videoelement has more than one default- track
- audioelement has more than one default- track
- formcannot have ancestor- form
- progresscannot have ancestor- progress
- metercannot have ancestor- meter
- dfncannot have ancestor- dfn
- noscriptcannot have ancestor- noscript
- labelcannot have ancestor- label
- addresscannot have ancestor- address
- sectioncannot have ancestor- address
- navcannot have ancestor- address
- articlecannot have ancestor- address
- headercannot have ancestor- header
- headercannot have ancestor- footer
- headercannot have ancestor- address
- footercannot have ancestor- header
- footercannot have ancestor- footer
- headercannot have ancestor- dt
- footercannot have ancestor- dt
- articlecannot have ancestor- dt
- navcannot have ancestor- dt
- sectioncannot have ancestor- dt
- h1cannot have ancestor- dt
- h2cannot have ancestor- dt
- h3cannot have ancestor- dt
- h4cannot have ancestor- dt
- h5cannot have ancestor- dt
- h6cannot have ancestor- dt
- hgroupcannot have ancestor- dt
- headercannot have ancestor- th
- footercannot have ancestor- th
- articlecannot have ancestor- th
- navcannot have ancestor- th
- sectioncannot have ancestor- th
- h1cannot have ancestor- th
- h2cannot have ancestor- th
- h3cannot have ancestor- th
- h4cannot have ancestor- th
- h5cannot have ancestor- th
- h6cannot have ancestor- th
- hgroupcannot have ancestor- th
- footercannot have ancestor- address
- h1cannot have ancestor- address
- h2cannot have ancestor- address
- h3cannot have ancestor- address
- h4cannot have ancestor- address
- h5cannot have ancestor- address
- h6cannot have ancestor- address
- tablecannot have ancestor- caption
- acannot have ancestor- a
- acannot have ancestor- button
- buttoncannot have ancestor- a
- buttoncannot have ancestor- button
- detailscannot have ancestor- a
- detailscannot have ancestor- button
- dialogcannot have ancestor- a
- dialogcannot have ancestor- button
- embedcannot have ancestor- a
- embedcannot have ancestor- button
- iframecannot have ancestor- a
- iframecannot have ancestor- button
- labelcannot have ancestor- a
- labelcannot have ancestor- button
- selectcannot have ancestor- a
- selectcannot have ancestor- button
- textareacannot have ancestor- a
- textareacannot have ancestor- button
- maincannot have ancestor- a
- maincannot have ancestor- address
- maincannot have ancestor- article
- maincannot have ancestor- aside
- maincannot have ancestor- audio
- maincannot have ancestor- blockquote
- maincannot have ancestor- canvas
- maincannot have ancestor- caption
- maincannot have ancestor- dd
- maincannot have ancestor- del
- maincannot have ancestor- details
- maincannot have ancestor- dialog
- maincannot have ancestor- dt
- maincannot have ancestor- fieldset
- maincannot have ancestor- figure
- maincannot have ancestor- footer
- maincannot have ancestor- header
- maincannot have ancestor- ins
- maincannot have ancestor- li
- maincannot have ancestor- main
- maincannot have ancestor- map
- maincannot have ancestor- nav
- maincannot have ancestor- noscript
- maincannot have ancestor- object
- maincannot have ancestor- section
- maincannot have ancestor- slot
- maincannot have ancestor- td
- maincannot have ancestor- th
- maincannot have ancestor- video
- acannot have ancestor with- role=button
- acannot have ancestor with- role=link
- buttoncannot have ancestor with- role=button
- buttoncannot have ancestor with- role=link
- detailscannot have ancestor with- role=button
- detailscannot have ancestor with- role=link
- dialogcannot have ancestor with- role=button
- dialogcannot have ancestor with- role=link
- embedcannot have ancestor with- role=button
- embedcannot have ancestor with- role=link
- iframecannot have ancestor with- role=button
- iframecannot have ancestor with- role=link
- labelcannot have ancestor with- role=button
- labelcannot have ancestor with- role=link
- selectcannot have ancestor with- role=button
- selectcannot have ancestor with- role=link
- textareacannot have ancestor with- role=button
- textareacannot have ancestor with- role=link
- Element with tabindexcannot have ancestor withrole=button
- Element with tabindexcannot have ancestor withrole=link
- audiowith- controlscannot have ancestor with- role=button
- audiowith- controlscannot have ancestor with- role=link
- imgwith- usemapcannot have ancestor with- role=button
- imgwith- usemapcannot have ancestor with- role=link
- inputcannot have ancestor with- role=button
- inputcannot have ancestor with- role=link
- menuwith- toolbarcannot have ancestor with- role=button
- menuwith- toolbarcannot have ancestor with- role=link
- objectwith- usemapcannot have ancestor with- role=button
- objectwith- usemapcannot have ancestor with- role=link
- videowith- controlscannot have ancestor with- role=button
- videowith- controlscannot have ancestor with- role=link
- role=buttoncannot have ancestor with- role=button
- role=buttoncannot have ancestor with- role=link
- role=checkboxcannot have ancestor with- role=button
- role=checkboxcannot have ancestor with- role=link
- role=comboboxcannot have ancestor with- role=button
- role=comboboxcannot have ancestor with- role=link
- role=gridcannot have ancestor with- role=button
- role=gridcannot have ancestor with- role=link
- role=gridcellcannot have ancestor with- role=button
- role=gridcellcannot have ancestor with- role=link
- role=listboxcannot have ancestor with- role=button
- role=listboxcannot have ancestor with- role=link
- role=menucannot have ancestor with- role=button
- role=menucannot have ancestor with- role=link
- role=menubarcannot have ancestor with- role=button
- role=menubarcannot have ancestor with- role=link
- role=menuitemcannot have ancestor with- role=button
- role=menuitemcannot have ancestor with- role=link
- role=menuitemcheckboxcannot have ancestor with- role=button
- role=menuitemcheckboxcannot have ancestor with- role=link
- role=menuitemradiocannot have ancestor with- role=button
- role=menuitemradiocannot have ancestor with- role=link
- role=optioncannot have ancestor with- role=button
- role=optioncannot have ancestor with- role=link
- role=radiocannot have ancestor with- role=button
- role=radiocannot have ancestor with- role=link
- role=scrollbarcannot have ancestor with- role=button
- role=scrollbarcannot have ancestor with- role=link
- role=searchboxcannot have ancestor with- role=button
- role=searchboxcannot have ancestor with- role=link
- role=slidercannot have ancestor with- role=button
- role=slidercannot have ancestor with- role=link
- role=spinbuttoncannot have ancestor with- role=button
- role=spinbuttoncannot have ancestor with- role=link
- role=switchcannot have ancestor with- role=button
- role=switchcannot have ancestor with- role=link
- role=tabcannot have ancestor with- role=button
- role=tabcannot have ancestor with- role=link
- role=textboxcannot have ancestor with- role=button
- role=textboxcannot have ancestor with- role=link
- role=treeitemcannot have ancestor with- role=button
- role=treeitemcannot have ancestor with- role=link
- Element linknot allowed inbody
- role=cellmust be owned by- role=row
- role=optionmust be owned by- role=listbox
- role=menuitemmust be owned by- role=menuor- menubar
- role=menuitemcheckboxmust be owned by- role=menuor- menubar
- role=menuitemradiomust be owned by- role=menuor- menubaror- group
- role=tabmust be owned by- role=tablist
- role=treeitemmust be owned by- role=treeor- group
- role=listitemmust be owned by- role=list
- role=gridcellmust be owned by- role=row
- role=columnheadermust be owned by- role=row
- role=rowheadermust be owned by- role=row
- role=rowmust be owned by- role=gridor- rowgroupor- treegridor- table
- role=rowgroupmust be owned by- role=gridor- treegridor- table
- role=feedmust contain- role=article
- role=gridmust contain- role=rowor- rowgroup
- role=listmust contain- role=listitem
- role=listboxmust contain- role=option
- role=menumust contain- role=menuitemor- menuitemcheckboxor- menuitemradio
- role=radiogroupmust contain- role=radio
- role=rowmust contain- role=cellor- columnheaderor- gridcellor- rowheader
- role=rowgroupmust contain- role=row
- role=tablemust contain- role=rowor- rowgroup
- role=tablistmust contain- role=tab
- role=treemust contain- role=treeitem
- role=treegridmust contain- role=rowor- rowgroup
- titlemust not be empty
- optionelement must not be empty
- usemaprefers to non-existent- map
- Autonomous custom elements must not use is
- Only utf-8is allowed forform accept-charset
- Only utf-8is allowed formeta charset
- Only utf-8is allowed forscript charset
- Only text/cssis allowed forstyle type
- Use figcaptioninstead of tablecaption
- scriptwith- nomodulemust not have- type=module
- link scopecan only be used with- rel=serviceworker
- link updateviacachecan only be used with- rel=serviceworker
- link workertypecan only be used with- rel=serviceworker
- blockingcan only be used with- modulepreload,- preloador- stylesheet
- link colorcan only be used with- rel=mask-icon
- link disabledcan only be used with- rel=stylesheet
- link fetchprioritycan only be used with external resource types
- linkmust have- hrefor- imagesrcset
- linkwith- imagesizesmust have- imagesrcset
- linkwith- imagesizesmust have- as=image
- linkwith- imagesrcsetmust have- as=image
- linkwith- imagesizesmust have- rel=preload
- linkwith- imagesrcsetmust have- rel=preload
- link sizescan only be used with- rel=icon,- rel=apple-touch-iconor- rel=apple-touch-icon-precomposed
- link asonly allowed with- rel=preloador- rel=modulepreload
- Alternate stylesheets must have a title
- link integritycan only be used with- rel=stylesheet,- rel=preloador- rel=modulepreload
- script fetchpriorityshould only be used with- src
- scriptwith- integrityattribute must have- src
- scriptwith- type=modulecannot have a- deferattribute
- scriptwith- type=importmapcannot have- src
- metawith- mediaattribute must have- name=theme-color
- Avoid meta viewports that prevent zooming
- Multiple metaelements withname=description
- Section lacks heading
- Article lacks heading
- Multiple meta charsetelements
- Multiple metaelements withcharsetandcontent-type
- Multiple metaelements withhttp-equiv=content-type
- Page has multiple h1elements
- Page has multiple mainelements
- xml:langwithout matching- lang
- keygenis obsolete
- datafldis obsolete
- dataformatasis obsolete
- datasrcis obsolete
- datapagesizeon- tableis obsolete
- longdescon- imgis obsolete
- forattribute on- scriptis obsolete
- eventattribute on- scriptelement is obsolete
- itemidcan only be used on elements with- itemscopeand- itemtype
- itemrefcan only be used on elements with- itemscope
- itemtypecan only be used on elements with- itemscope
- imgwith- alt=''must not have- role
- Page has multiple autofocuselements
- typemustmatchcan only be used when- dataand- typeare specified
- imgmust have an- altattribute
- Broken aria-activedescendantID reference
- Broken aria-controlsID reference
- Broken aria-describedbyID reference
- Broken aria-flowtoID reference
- Broken aria-labelledbyID reference
- Broken aria-ownsID reference
- Unsupported SVG version
- aria-hiddennot allowed on- base
- aria-hiddennot allowed on- col
- aria-hiddennot allowed on- colgroup
- aria-hiddennot allowed on- head
- aria-hiddennot allowed on- html
- aria-hiddennot allowed on- inputwith- type=hidden
- aria-hiddennot allowed on- link
- aria-hiddennot allowed on- map
- aria-hiddennot allowed on- meta
- aria-hiddennot allowed on- noscript
- aria-hiddennot allowed on- param
- aria-hiddennot allowed on- script
- aria-hiddennot allowed on- slot
- aria-hiddennot allowed on- source
- aria-hiddennot allowed on- style
- aria-hiddennot allowed on- template
- aria-hiddennot allowed on- title
- aria-hiddennot allowed on- track
- aria-attributes are not allowed on- inputelements with- type=hidden
- role=articleunnecessary for- article
- role=complementaryunnecessary for- aside
- role=documentunnecessary for- body
- role=buttonunnecessary for- button
- role=listboxunnecessary for- datalist
- role=definitionunnecessary for- dd
- role=groupunnecessary for- details
- role=termunnecessary for- dfn
- role=dialogunnecessary for- dialog
- role=termunnecessary for- dt
- role=groupunnecessary for- fieldset
- role=figureunnecessary for- figure
- role=contentinfounnecessary for- footer
- role=formunnecessary for- form
- role=headingunnecessary for- h1
- role=headingunnecessary for- h2
- role=headingunnecessary for- h3
- role=headingunnecessary for- h4
- role=headingunnecessary for- h5
- role=headingunnecessary for- h6
- role=bannerunnecessary for- header
- role=separatorunnecessary for- hr
- role=listitemunnecessary for- li
- role=linkunnecessary for- link
- role=mainunnecessary for- main
- role=mathunnecessary for- math
- role=navigationunnecessary for- nav
- role=listunnecessary for- ol
- role=optionunnecessary for- option
- role=statusunnecessary for- output
- role=progressbarunnecessary for- progress
- role=regionunnecessary for- section
- role=listboxunnecessary for- select
- role=buttonunnecessary for- summary
- role=tableunnecessary for- table
- role=rowgroupunnecessary for- tbody
- role=textboxunnecessary for- textarea
- role=rowgroupunnecessary for- tfoot
- role=rowgroupunnecessary for- thead
- role=cellunnecessary for- td
- role=rowunnecessary for- tr
- role=listunnecessary for- ul
- role=columnheaderunnecessary for- th
- meterdoes not need a- role
- optgroupdoes not need a- role
- role=buttonunnecessary for- input type=button
- role=checkboxunnecessary for- input type=checkbox
- role=buttonunnecessary for- input type=image
- role=spinbuttonunnecessary for- input type=number
- role=radiounnecessary for- input type=radio
- role=sliderunnecessary for- input type=range
- role=buttonunnecessary for- input type=reset
- role=buttonunnecessary for- input type=submit
- role=buttonunnecessary for- button type=menu
- role=toolbarunnecessary for- menu type=toolbar
- role=textboxunnecessary for- input type=emailand no- listattribute
- role=textboxunnecessary for- input type=teland no- listattribute
- role=textboxunnecessary for- input type=textand no- listattribute
- role=searchboxunnecessary for- input type=searchand no- listattribute
- role=textboxunnecessary for- input type=urland no- listattribute
- role=comboboxunnecessary for- input type=emailand a- listattribute
- role=comboboxunnecessary for- input type=teland a- listattribute
- role=comboboxunnecessary for- input type=textand a- listattribute
- role=comboboxunnecessary for- input type=searchand a- listattribute
- role=comboboxunnecessary for- input type=urland a- listattribute
- aria-haspopupshould not be used on- input type=emailwith a- listattribute
- aria-haspopupshould not be used on- input type=telwith a- listattribute
- aria-haspopupshould not be used on- input type=textwith a- listattribute
- aria-haspopupshould not be used on- input type=searchwith a- listattribute
- aria-haspopupshould not be used on- input type=urlwith a- listattribute
- role=listitemunnecessary for- liinside- olor- ul
- role=linkunnecessary for- a,- areaand- linkwith- href
- role=comboboxunnecessary for- selectelements with- sizeless than two
- role=listboxunnecessary for- selectwith- multipleor- sizegreater than one
- Non-empty img altused withrole=noneorrole=presentation
- imgwith no- altcannot have a- role
- imgwith no- altcannot have- aria-attributes
- figurewith a- figcaptionmust not have a- role
- roleforbidden on- td- thand- trelements inside tables
- aria-colspannot needed with- colspan
- aria-colspanmust match- colspan
- aria-disablednot needed with- disabled
- aria-disabled=falsecannot be used with- disabled
- aria-hiddennot needed with- hidden
- aria-hidden=falsecannot be used with- hidden
- aria-readonlynot needed with- readonly
- aria-readonly=falsecannot be used with- readonly
- aria-requirednot needed with- required
- aria-required=falsecannot be used with- required
- aria-rowspannot needed with- rowspan
- aria-rowspanmust match- rowspan
- autocompleteonly allowed with some input types
- listonly allowed with some input types
- maxlengthonly allowed with some input types
- minlengthonly allowed with some input types
- patternonly allowed with some input types
- placeholderonly allowed with some input types
- readonlyonly allowed with some input types
- requiredonly allowed with some input types
- sizeonly allowed with some input types
- aria-valuemaxforbidden on- progresswith- maxattribute
- aria-valuemaxredundant on- progress
- aria-valuemaxforbidden on- meterwith- maxattribute
- aria-valuemaxredundant on- meter
- aria-valueminforbidden on- meterwith- minattribute
- aria-valueminredundant on- meter
- aria-valuemaxforbidden on- inputwith- maxattribute
- aria-valuemaxredundant on- input
- aria-valueminforbidden on- inputwith- minattribute
- aria-valueminredundant on- input
- aria-disabled=trueshould not be used on links
- aria-checkedmust not be used on- inputwith- type=radioor- type=checkbox
- aria-multiselectableshould not be used on- select
- aria-selectedshould not be used on- option
- aria-placeholdermust not be used with- placeholder
- aria-readonly=truemust not be used with- contenteditable
- ARIA label used on role that prohibits naming
- Focusable role=separatormust havearia-valuenow
- ARIA error
- Missing ARIA attribute
- HTML parsing error
- HTML Validation Error
- HTML validation warning
- Unrecoverable parsing error
- Invalid language attribute
- ARIA role is invalid
- Invalid aria-controlsvalue
- Autocomplete value is invalid
- Element captionnot allowed here
- imgin- noscriptbefore- body
- bodyseen when- bodyalready open