You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Generate a new details template with ember generate violations rule-name where rule-name is the new item to be added
Fill out the front matter information and add info in the content area as appropriate
submit one PR per item on this checklist
tip: existing .md files in the violations folder can be used to see what we're looking for, but the generate command should pre-fill in a lot of things for you.
the alt attribute should not be missing on img elements, area elements or input type="image" elements, or elements with the role of img
text look-alikes such as glyphs or character entities should not be used to represent text without providing a text alternative
ASCII art should not be used without providing a text alternative
svg elements with a role of img should have alt text
if the object element is used, it should have alt text defined
alt text should not contain filenames or placeholder text
long descriptions for non-text content should serve the same purpose and present the same information (not more or less)
alt text should not include information conveyed by color differences
area elements of image maps should have alt text
if an image is updated dynamically, the alt text must be updated as well.
captions should not exclude any of the dialog or important sounds
synchronized media that provides more information than is presented in text on the page should have captions
synchronized media text alternatives should be labeled as alternatives to text
css should not be used to make a paragraph or other plain text look like a heading
images of text should not be used as headings
css should not be used to visually emphasize a word or phrase without conveying that emphasis through semantic HTML
structural markup should not be used in a way that does not represent relationships in the content
th elements should not be used in layout tables (tables marked with role="presentation")
caption elements should not be used in layout tables (tables marked with role="presentation")
the pre element should not be used to mark up tabular information
content should not be inserted by using the :before and :after pseudo-elements or the content property in CSS
table headers and content should not be incorrectly associated
table headers should use correct markup (such as th elements)
role="presentation" or "none" should not be used on content that conveys semantic information
landmarks should be unique (if more than one of the same landmark on the page, a label/title should be provided for each)
Page has more than one header landmark but aria-label or aria-labeled attribute is missing
buttons and links should not use "more" as the text
interactive elements should not have role="presentation" or role="none"
lists are not using HTML list (ul/li, ol/li)
lists should be structured correctly (only contain li, script or template elements)
input character counts should be made available to screen readers
required input fields should use the HTML "required" attribute correctly
grouped form controls should use fieldset and legend elements
tooltip content must not be hidden from screen readers
elements used as tabs should be marked with the correct roles
search results returned by typeahead or search components should be updated/announced correctly to screen readers
every page should have a main landmark
a document should not have more than one main landmark
the main landmark should be a direct descendant of the body element
a document must not have more than one banner landmark
the banner landmark should be a direct descendant of the body element
the contentinfo landmark should be a direct descendant of the body element
the complementary landmark (aside) should be a direct descendant of the body element
there should not be more than one contentinfo landmark
tables (for tabular data!) should have titles
invalid roles should not be used
abstract roles should not be used
tables with a caption should use the caption element
dl elements must only contain dt and dd elements
dd and dt elements must be contained by a dl
a table should not have any blank th elements
white space should not be used for layout
white space should not be used to format tables in plain text content
scripted event handling should not be used alone to make a faux link out of a different element (like a div, span, or img)
scripted event handling should not be used to make a faux link out of a different element (like a div, span, or img) even if it also includes keyboard support
elements with aria-hidden should not contain focusable (interactive) elements
form elements should have a label
select elements should have an accesible name
content meaning should not be changed through CSS positioning
white space should not be used to control spacing within a word
a layout table (table elements marked with role="presentation") should linearize correctly
a layout table (table elements marked with role="presentation") should not separate meaningful sequences of data when linearized
content should not be identified only through its shape or location
an icon should not be the only thing that conveys information to the user
no graphical symbol only
content should not have its orientation locked to portrait or landscape view
a message should not be shown that asks the user to change the orientation of the device
autocomplete attribute values should have valid values
links should not look the same as the text
links should not have the underline removed or should be distinquishable from text in a way that does not rely on color
required or error fields should not be identified only using color differences
Non-text contrast ratio should meet AA standards
content should not disappear when a reflow has occurred
when text spacing is adjusted, text should not be clipped or overlapped
content that is shown on hover should be hoverable
any sound automatically played for longer than three seconds requires a mechanism for the user to turn it off
a media element that autoplays should have a way to pause or stop
elements should have sufficient color contrast
background images should provide sufficient contrast with foreground text
if a foreground color is specified, a background color must also be specified
if a background color is specified, a foreground color must also be specified
when visually rendered text is resized up to 200%, none of the text should be clipped, truncated, or otherwise obscured
text-based form controls should resize when visually rendered text is resized up to 200%
viewport units should not be used to resize text without media queries
icons should scale when browser zoom is active (101-200%)
text should wrap on zoom and not truncate (101-200%)
elements should not overlap on zoom (101-200%)
text should not be justified
a pointing-device-specific event handler should not be the only means of activating an event handler for a function
interactive elements should be focusable
interactive elements should respond to the appropriate interaction key (Enter and/or Spacebar)
any element that appears OVER the primary window should be able to be opened/closed by a keyboard user
tabs should have the correct keyboard interaction
datepickers should have the correct keyboard interactions
items in typeaheads/dropdowns should be operable by up/down arrow keys
lists should be navigable with the UP and DOWN arrow keys
elements that have scrollable content should be accessible by keyboard
server-side image maps should not be used
a script should not be used to remove focus when focus is received
when focus is placed on each element, focus should remain there until the user removes it
when multiple content formats are used, the user must not become trapped in any of the content
character key shortcuts should not be implemented in such a way that they can not be turned off or remapped
server-side techniques should not be used to automatically redirect pages after a time-out
a meta refresh should not be used to reload the page
a meta redirect with a time limit should not be used
text-decoration:blink should not be used
no object should blink without a mechanism to pause that blinking
content that moves or scrolls automatically should be able to be paused and resumed by users
the blink element should not be used
a script should not cause a blink effect without a mechanism to stop the blinking
marquee elements should not be used
there should not be a session time limit without a mechanism for saving the user's input and re-establishing that information when they re-authenticate
a skip link should exist
iframes should have titles
iframes should have unique titles
the title of the web page should identify its contents
every page should have a title element
tabindex should not be used to create a tab order that does not preserve meaning and operability
dialogs and menus should be adjacent to their trigger controls in the sequential navigation order
focus should not be set to the document after dismissing a menu or dialog on the page
interactive element that reveals hidden content (or inserts content dynamically) should move focus to that new content
focus should return to the originating element
focus must move in DOM order
hidden elements should not receive focus
a link that is required to have context in order to understand it should not be placed outside of the content
links must have a descriptive name (no "more" or "read more")
link name and title attribute should not have the same value
title attribute and alt attribute should not have the same value
link name and nested image alt text should not have the same value
separate link elements with the same href value that are next to each other in the DOM should be combined
an accessible name should be provided for images that are the only content in a link
all links should have an accessible name/discernible text
a page should only have a single h1 element
a page should have an h1 element
heading elements should have content
visual focus indicators should not be removed
focus indicators should not be turned off with CSS
the outline of elements should not be visually similar to the focus indicator
elements should not have a border that occludes the focus indicator
non-specific links (such as "click here" or "more") should not be used without a mechanism to change the link text to specific text
links with the same accessible name should serve a similar purpose
path-based gestures (such as swipe-to-reveal) should not be provided without a simple pointer alternative
a control should not be activated on the down-event (mousedown, touchstart, pointerdown)
the accessible name should include the visible label text
accessible name doesn't match visible label
elements labelled through their content must have visible text as part of their accessible name
motion actuation should have the ability to be deactivated
interactions should not be limited to touch-only on touchscreen devices
dragging movements should have a single pointer input alternative to operate the same function
the lang attribute should have a valid value
the HTML element should have a lang attribute
shifting focus to hoverable content on init
context should not change on focus
keyboard activated interactions that trigger close/cancel mechanisms should ensure that focus is returned to the originating element
a new window should not be opened as soon as a new page is loaded
a form should not automatically submit when the last form field is given a value
a new window should not be launched with the selection of a radio button, checkbox, or select list
navigation links should not be put in a different relative order on different pages
different labels should not be used for the same function on different web pages within a set of web pages
when the user removes focus from a form element (onBlur) change of context should not occur
windows should not be opened unless they are requested by the user
a new window should not be launched when the user enters text into an input field
content should not be automatically updated if the user cannot disable the automatic content change
a slideshow must have a stop or pause button
a feed that automatically refreshes itself to have the most updated content should have an option to disable the behavior
a search engine should not automatically generate results and dynamically update content based on user input without an option to disable this behavior
phone number fields should not be missing labels
form fields should not have multiple label elements
web pages that cause legal commitments or financial transactions to occur, the submission must have one of the following: a way to reverse the submission, a way for the user to confirm that the information is correct before proceeding, or a mechanism to review/confirm/correct the information before submitting
web pages that modify or delete user-controllable data must have one of the following: a way to reverse the submission, a way for the user to check the data before continuing, or a mechanism to review, confirm and correct the information before submitting
incorrect use of start and end tags
incorrect use of attribute markup
the id attribute of an html element should be unique
elements should not contain duplicate attributes
custom controls should use and support the accessibility API
a script should not be used to make a div or a span a user interface control in HTML without providing a role for the control
all input, textarea and select elements should have programmatically associated labels
input buttons (if they exist) should have discernible text
buttons should have discernible text
custom controls should make the focus state programmatically determinable
custom controls should provide notification of change of focus state (programmatically)
each part of a multi-part form field (such as a US telephone number) should have a programmatically determinable label
For elements with an expanded/collapsed state, the aria-expanded attribute should be present and should reflect the current state
button text and title attribute should not be the same
roles should not be assigned to landmark elements
buttons should not be inside of a heading (h1-h6) element
headings (h1-h6) should not be inside of a button element
interactive elements should not be nested
buttons must not contain link elements
links must not contain button elements
links must not contain other links
elements should be used for URLS
buttons should be used for toggles
pressed buttons should reflect a pressed state to screen readers
checkbox state should be reported correctly to screen readers
disabled elements should use the disabled HTML attribute to correctly report state to screen readers
roles must be defined for custom interactive elements
elements should only use supported ARIA attributes
the aria-hidden attribute should not be used on the body element
a heading element should not be empty/should have discernible text
an element with an explicitly declared role of checkbox should also have the aria-checked attribute
an element with an explicitly declared role of combobox should also have the aria-expanded attribute
an element with an explicitly declared role of combobox must own a listbox or textbox element
status messages should be programmatically determined through role or properties
If notifications/errors appear as the result of a user's action, that content must be presented in an understandable way to screen readers
icons should be visible in high-contrast mode
interactive elements should not be disabled (readonly is okay)
focus indicators must be visible
elements should not disappear upon zoom (101-200%)
focus indicators should not disappear when the page is zoomed (101-200%)
a blockquote should not be used to provide additional information
a heading element should not be used for presentational effect
a heading should not be used for only visual effect
a fieldset and legend should not be used simply to give a border to text
a fieldset and legend should be contained within a form element
a fieldset and legend should contain groups of input fields
checkbox inputs with the same name attribute value must be part of a group
radio inputs with the same name attribute value must be part of a group
summary attribute is deprecated and should not be used
an app should not disrupt a platform's documented accessibility features
authoring and development tools must provide a UI that supports creating accessible content
authoring and development tools must provide documentation
tools that convert content from one format to another should preserve the information required for accessibility to the extent that the information is supported by the destination format
authoring tools should provide a mechanism for authors to check documents for accessibility
templates provided by authoring tools should not create accessibility problems
templates and themes provided by authoring tools should meet accessibility criteria
if media playback functionality is provided, it should support captions
if media playback functionality is provided, it should preserve synchronization between audio and the corresponding captions
if real-time video communication is supported, performance requirements should support users who communicate through sign language and lip reading.
if a product has product-specific features or functionality designed for people with disabilities (such as keyboard shortcuts, UI options, etc) these features must be documented
product documentation that is presented in electronic format should conform to A and AA WCAG success criteria
activation of accessibility features should not rely on non-accessible ways to activate these features
no feature should require that more than one control be activated simultaneously to activate it (sequential is okay)
when a modal window is open, it should have focus
when a modal window is open, none of the parent window content should be programmatically available
when a modal window is open, keyboard navigation should stay within the modal's DOM elements
if an element has the role of region, it should have a programmatically associated label
the role of region should only be used if no other landmark role is appropriate
if a page has a time limit for some of the functionality, there should be a warning provided to the user when the time limit is about to expire.
non-essential alerts should provide a mechanism for the user to turn off these alerts
tabindex should not have values other than -1 or 0
links should have an href with a value
landmark elements should not be nested within landmark elements of the same name
obsolete elements should not be used
all skip links should have a focusable target
all page content should be contained within a landmark
the object element is obsolete and should not be used
zooming and scaling should not be disabled
form elements should have visible labels and not rely on title or aria-describedby
image alt text should not be repeated as text content
heading levels should only increase by one
elements with the role of alertdialog should have an accessible name
elements with the role of alertdialog should use aria-describedby to identify the message content
ensure elements with role columnheader are contained in, or owned by, an element with the role row.
each active dialog should have an active focused descendant with keyboard focus
elements with a dialog role should have an accessible name
if a form element is being used for a search, it should have the role of search
elements with the role of gridcell must be owned by elements with the role of row
elements with the role of group must limit its children to elements with the role of listitem
elements with the role of list must only contain children whose role is listeitem, or elements whose role is group (which in turn contains children whose role is listitem)
select elements may not contain images
elements with the role of listbox must have author-managed focus
elements with the role of listbox must contain children with the role of option
elements with the role of listitem are owned by an element with the role of list or group
elements with the role of listitem must have an accessible name
elements with the role of log must have an accessible name
elements with the role of menu must have author-managed focus
elements with the role of menuitem must be contained by an element with the role of menu or menubar
The text was updated successfully, but these errors were encountered:
ember generate violations rule-name
whererule-name
is the new item to be added.md
files in theviolations
folder can be used to see what we're looking for, but the generate command should pre-fill in a lot of things for you.status messages should be programmatically determined through role or properties
The text was updated successfully, but these errors were encountered: