Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tracking Issue: Add potential violations #10

Open
MelSumner opened this issue Oct 14, 2020 · 0 comments
Open

Tracking Issue: Add potential violations #10

MelSumner opened this issue Oct 14, 2020 · 0 comments
Labels
pr-welcome pull requests are welcome for this issue

Comments

@MelSumner
Copy link
Owner

MelSumner commented Oct 14, 2020

  1. Generate a new details template with ember generate violations rule-name where rule-name is the new item to be added
  2. Fill out the front matter information and add info in the content area as appropriate
  3. submit one PR per item on this checklist
  4. 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
@MelSumner MelSumner mentioned this issue Oct 14, 2020
@MelSumner MelSumner added mvp necessary for app MVP pr-welcome pull requests are welcome for this issue labels Oct 14, 2020
@MelSumner MelSumner self-assigned this Nov 2, 2020
@MelSumner MelSumner removed mvp necessary for app MVP pr-welcome pull requests are welcome for this issue labels Nov 2, 2020
@MelSumner MelSumner changed the title Tracking Issue: Add additional details Tracking Issue: Add potential failure details Nov 2, 2020
@MelSumner MelSumner changed the title Tracking Issue: Add potential failure details Tracking Issue: Add potential violations Apr 15, 2021
@josephdsumner josephdsumner self-assigned this Apr 26, 2022
@MelSumner MelSumner added help wanted Open to contributions for this issue pr-welcome pull requests are welcome for this issue labels Apr 27, 2022
@MelSumner MelSumner removed hacktoberfest help wanted Open to contributions for this issue labels Aug 19, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
pr-welcome pull requests are welcome for this issue
Projects
None yet
Development

No branches or pull requests

2 participants