Giter Site home page Giter Site logo

melsumner / a11y-automation Goto Github PK

View Code? Open in Web Editor NEW
231.0 231.0 34.0 8.03 MB

Open-source project. Tracking the available automation for accessibility. What a11y failures can be linted & tested for in an automated fashion?

Home Page: https://a11y-automation.dev

JavaScript 55.13% HTML 3.56% Handlebars 36.97% CSS 4.34%
a11y ember hacktoberfest

a11y-automation's Introduction

Hi there 👋

a11y-automation's People

Contributors

abdulsamad avatar adamchaboryk avatar amyrlam avatar andrewsnapz avatar ashwanthramkl avatar coliff avatar dinil-thilakarathne avatar ember-tomster avatar fedqk avatar glnster avatar gnclmorais avatar grunet avatar josebolos avatar josephdsumner avatar jvmoreira avatar legallai avatar lenoraporter avatar mansona avatar melsumner avatar minthamie avatar mofiebiger avatar renovate-bot avatar renovate[bot] avatar rodrigocnascimento avatar sdahlbac avatar shivareddy-aluri avatar tremby avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

a11y-automation's Issues

Resolve grid css issue on smaller viewports

Right now, viewing this site on a mobile devices demonstrates some issues with the grid CSS as written.

Resolve this issue by fixing the CSS so viewing the site on a mobile device is pleasant. Ensure that other viewports do not regress.

Write a test for manual testing status

Manual testing status should only have these values:

  • exists
  • shouldexist
  • mustexist

add a unit test to check the values. anything outside these values should fail.

Improvement: tidy up DOM

In order to launch the project quickly, I used Tailwind CSS and UI (I have a license). However, the drawback of this is that the DOM is very cluttered.

It would be good to remove as many of the extra <div> elements as possible and stick with semantic HTML. This will take some work to improve sections of code, but it can be done incrementally.

Add Common Failures 41-60 as tags

Add the Common Failures as tags so that they can be used in the app.

The command ember generate tags failure-1 will generate a failure-1.md file in the tags folder. To this .md file, add the following:

  • the human readable name to the title (Failure 1)
  • the URL to the failure (in this instance, https://www.w3.org/WAI/WCAG21/Techniques/failures/F1)
  • finally, add the url page title as the description ("Failure of Success Criterion 1.3.2 due to changing the meaning of content by positioning information with CSS")

For an example of what this looks like, see any of the existing wcag*.md files in the tags folder.

re-style data table

the data table available on the /details (details/index template file) could have its appearance improved.

PRs welcome but there is no guarantee of merge- may be more useful to put a mockup in this thread first, to see if it might resolve the issue, before submitting a PR.

update font combination

update the font combination.

Requirements:

  • easy to read
  • complementary to one another

bonus points for variable fonts that are implemented correctly.

Add Common Failures 61-80 as tags

Add the Common Failures as tags so that they can be used in the app.

The command ember generate tags failure-1 will generate a failure-1.md file in the tags folder. To this .md file, add the following:

  • the human readable name to the title (Failure 1)
  • the URL to the failure (in this instance, https://www.w3.org/WAI/WCAG21/Techniques/failures/F1)
  • finally, add the url page title as the description ("Failure of Success Criterion 1.3.2 due to changing the meaning of content by positioning information with CSS")

For an example of what this looks like, see any of the existing wcag*.md files in the tags folder.

Action Required: Fix Renovate Configuration

There is an error with this repository's Renovate configuration that needs to be fixed. As a precaution, Renovate will stop PRs until it is resolved.

Error type: undefined. Note: this is a nested preset so please contact the preset author if you are unable to fix it yourself.

Add Common Failures 81-108 as tags

Add the Common Failures as tags so that they can be used in the app.

The command ember generate tags failure-1 will generate a failure-1.md file in the tags folder. To this .md file, add the following:

  • the human readable name to the title (Failure 1)
  • the URL to the failure (in this instance, https://www.w3.org/WAI/WCAG21/Techniques/failures/F1)
  • finally, add the url page title as the description ("Failure of Success Criterion 1.3.2 due to changing the meaning of content by positioning information with CSS")

For an example of what this looks like, see any of the existing wcag*.md files in the tags folder.

tidy up .scss file

tidy up the app.scss file so that it uses imports and separates concerns logically.

add new status: shouldexist

Add a new status shouldexist to the detail model to help differentiate in cases where manual testing should exist even if automated linting and testing already exist (since there are sometimes ways to get around both).

Add linting rule data from other available linters to existing violation data

Add linting data from Deque's new axe accessibility linter extension.

Information should be added to existing violation files first, if possible.

Common

  • area-alt
  • aria-command-name
  • aria-dialog-name
  • aria-input-field-name
  • aria-meter-name
  • aria-progressbar-name
  • aria-toggle-field-name
  • aria-tooltip-name
  • aria-treeitem-name
  • autocomplete-valid
  • button-name
  • frame-title
  • image-alt
  • input-button-name
  • input-image-alt
  • label
  • link-name
  • object-alt
  • role-img-alt
  • select-name
  • svg-img-alt

Markdown(MD)

  • heading-order

Vue

  • aria-roles
  • aria-valid-attr
  • blink
  • empty-heading
  • interactive-supports-focus
  • click-events-have-key-events
  • mouse-events-have-key-events
  • no-autofocus

React

  • aria-allowed-role
  • aria-required-attr
  • aria-roles
  • aria-valid-attr
  • aria-valid-attr-value
  • blink
  • empty-heading
  • image-redundant-alt
  • marquee
  • scope-attr-valid
  • tabindex
  • no-interactive-element-to-noninteractive-role
  • interactive-supports-focus
  • click-events-have-key-events
  • no-noninteractive-element-to-interactive-role
  • no-static-element-interactions
  • mouse-events-have-key-events
  • no-autofocus
  • anchor-is-valid

deploy site

once there are some styles #11 and there are a respectable number of details #10 , deploy site to Netlify.

Tracking Issue: Add potential violations

  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

Add impact severity to each violation

To help prioritize rules to be written or issues to be fixed, each existing detail needs a severity level added.

Severity should be based on impact to the user:

  • blocker (no workaround, would cause loss of service or loss of critical functionality)
  • critical (functionality is still available but is severely limited; no acceptable workaround is available)
  • major (reasonable workaround available; no user-generated data would be lost)
  • minor (degradation of non-critical functionality; workaround may be available)

To complete:

  • add severity to the attributes list in lib/content-generator/index.js
  • add severity to the front-matter list in blueprints/violations/files/details__name__.md
  • add severity to each existing violations file with the correct severity indicated
  • add a severity indicator in the templates/violations/violation file, and any supporting CSS necessary.

Manual Testing: provide _how_

After becoming aware of https://thisiswcag.com/ - I wonder if there's a way to incorporate both sites?

At the least, consider adding a manual testing list enhancement. Also I think that there are various basic checklists around for manual testing, and since this site tracks what should be tested manually, that information would be useful to have.

Fix data models to avoid async request leaks

Fix this (the way the data is pulled in isn't quite correct)

WARNING: Async Request leaks detected. Add a breakpoint here and set `store.generateStackTracesForTrackedRequests = true;`to inspect traces for leak origins:
         - DS: Handle Adapter#findAll of model:detail
         - DS: Handle Adapter#findRecord of 'detail' with id: 'alt-color-diffs'
         - DS: Handle Adapter#findRecord of 'tag' with id: 'wcag-1-1-1'
         - DS: Handle Adapter#findRecord of 'tag' with id: 'wcag-1-4-1'

Add Common Failures 1-10 as tags

Add the Common Failures as tags so that they can be used in the app.

The command ember generate tags failure-1 will generate a failure-1.md file in the tags folder. To this .md file, add the following:

  • the human readable name to the title (Failure 1)
  • the URL to the failure (in this instance, https://www.w3.org/WAI/WCAG21/Techniques/failures/F1)
  • finally, add the url page title as the description ("Failure of Success Criterion 1.3.2 due to changing the meaning of content by positioning information with CSS")

For an example of what this looks like, see any of the existing wcag*.md files in the tags folder.

improve styles for status labels

the status labels in their current shape are dreadfully unpleasing to look at. Please implement new styles that make them nicer for our eyes to behold.

Add Common Failures 21-40 as tags

Add the Common Failures as tags so that they can be used in the app.

The command ember generate tags failure-1 will generate a failure-1.md file in the tags folder. To this .md file, add the following:

  • the human readable name to the title (Failure 1)
  • the URL to the failure (in this instance, https://www.w3.org/WAI/WCAG21/Techniques/failures/F1)
  • finally, add the url page title as the description ("Failure of Success Criterion 1.3.2 due to changing the meaning of content by positioning information with CSS")

For an example of what this looks like, see any of the existing wcag*.md files in the tags folder.

improve status labels

The status labels could probably use a better solution (than what is currently in the detail.hbs template) to determine what class to add to the template.

These attributes: linting, testing, author, manual all have one of the following values:

  • exists
  • couldexist
  • cannotexist
  • mustexist

Based on the value, the label then receives a css class:

  • .status-exists
  • .status-couldexist
  • .status-cannotexist
  • .status-mustexist

The helper should also render the text correctly- couldexist should render as "could exist".

Issue: CSS classes that are needed are getting purged

The status badges should all have background colors and text colors, such as:
image

But none of these classes are resolving in production- the classes are getting purged from the CSS, even though they exist on the elements, resulting in this:
image

Here's the template code:

<span
      class="status status-{{cellitem.linting}}">
      {{cellitem.lintingText}}
</span>

And here's and example of the CSS:

.status-exists {
  @apply bg-green-100 text-green-800;
}

To do:
Figure out why and fix it.

Add Common Failures 11-20 as tags

Add the Common Failures as tags so that they can be used in the app.

The command ember generate tags failure-1 will generate a failure-1.md file in the tags folder. To this .md file, add the following:

  • the human readable name to the title (Failure 1)
  • the URL to the failure (in this instance, https://www.w3.org/WAI/WCAG21/Techniques/failures/F1)
  • finally, add the url page title as the description ("Failure of Success Criterion 1.3.2 due to changing the meaning of content by positioning information with CSS")

For an example of what this looks like, see any of the existing wcag*.md files in the tags folder.

Add all automated a11y tool listing

Add a section or page that lists all of the currently available linters and testers, with links to each. Include IDE and browser extensions.

  • AccessLint
  • axe tools
  • ember-a11y-test
  • Microsoft Accessibility Insights
  • lighthouse?

Add data filters for tags

Add filters based on the tags to the violations/index template, so that the content can be filtered appropriately.

  • The filters should be a dropdown menu that automatically includes all of the filters.
  • The filter should be above the table element
  • The tags listed in the dropdown should be alpha-sorted
  • the filter/dropdown menu component should itself pass accessibility criteria
  • tailwindcss (https://tailwindcss.com/docs) should be used for styling

See https://github.com/dequelabs/combobo (https://dequelabs.github.io/combobo/demo/) for a good example of an accessible combobox for filters. Note the "submit" button.

Add favicon

A favicon is needed.

  • Turn the little "A" icon (in the navbar) into a favicon.
  • put the favicon into /public/assets/images
  • add it to index.html

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

Rate-Limited

These updates are currently rate-limited. Click on a checkbox below to force their creation now.

  • Update dependency ember-cli-fastboot to v4.1.5
  • Update dependency npm-run-all2 to v5.0.2
  • Update dependency @ember/optional-features to v2.1.0
  • Update dependency ember-cli to v4.12.3
  • Update dependency @fullhuman/postcss-purgecss to v6
  • Update dependency broccoli-static-site-json to v5
  • Update dependency ember-a11y-refocus to v4
  • Update dependency ember-resolver to v12
  • Update dependency ember-template-lint to v6
  • Update dependency eslint to v9
  • Update dependency npm-run-all2 to v6
  • Update dependency qunit-dom to v3
  • Lock file maintenance
  • 🔐 Create all rate-limited PRs at once 🔐

Open

These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

Ignored or Blocked

These are blocked by an existing closed PR and will not be recreated unless you click a checkbox below.

Detected dependencies

github-actions
.github/workflows/ci.yml
  • actions/checkout v4
  • actions/setup-node v4
  • actions/checkout v4
  • actions/setup-node v4
npm
lib/content-generator/package.json
package.json
  • autoprefixer 10.4.17
  • broccoli-static-site-json 4.5.0
  • ember-a11y-refocus 3.0.2
  • ember-cli-netlify 0.4.1
  • @ember/optional-features 2.0.0
  • @fullhuman/postcss-purgecss 5.0.0
  • @glimmer/component 1.1.2
  • @glimmer/tracking 1.1.2
  • @tailwindcss/forms 0.5.7
  • @tailwindcss/typography 0.5.10
  • babel-eslint 10.1.0
  • broccoli-asset-rev 3.0.0
  • ember-auto-import 1.12.2
  • ember-cli 4.1.1
  • ember-cli-app-version 6.0.1
  • ember-cli-babel 7.26.11
  • ember-cli-dependency-checker 3.3.2
  • ember-cli-fastboot 4.1.2
  • ember-cli-htmlbars 6.3.0
  • ember-cli-inject-live-reload 2.1.0
  • ember-cli-postcss 8.2.0
  • ember-cli-sri 2.1.1
  • ember-cli-terser 4.0.2
  • ember-composable-helpers 5.0.0
  • ember-data 3.28.13
  • ember-export-application-global 2.0.1
  • ember-fetch 8.1.2
  • ember-get-config 2.1.1
  • ember-load-initializers 2.1.2
  • ember-maybe-import-regenerator 1.0.0
  • ember-qunit 4.6.0
  • ember-resolver 11.0.1
  • ember-source 3.28.12
  • ember-template-lint 3.16.0
  • ember-truth-helpers 3.1.1
  • eslint 7.32.0
  • eslint-plugin-ember 10.6.1
  • eslint-plugin-node 11.1.0
  • loader.js 4.7.0
  • npm-run-all2 5.0.0
  • postcss-import 14.1.0
  • prember 2.0.0
  • qunit-dom 2.0.0
  • tailwindcss 2.2.19
  • node 14.* || 16.* || >= 18

  • Check this box to trigger a request for Renovate to run again on this repository

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.