sa11y | Salesforce Automated Accessibility Testing Libraries | Accessibility Testing library

 by   salesforce TypeScript Version: v5.1.0 License: BSD-3-Clause

kandi X-RAY | sa11y Summary

kandi X-RAY | sa11y Summary

sa11y is a TypeScript library typically used in Testing, Accessibility Testing, Jest applications. sa11y has no bugs, it has no vulnerabilities, it has a Permissive License and it has low support. You can download it from GitHub.

Automated Accessibility Testing Libraries and Tools (@sa11y packages) based on axe-core providing support for Jest unit tests, WebdriverIO component/integration tests used by teams in Salesforce. However, they are not specific to Salesforce and can be used to test any UI supported by axe-core for accessibility. These libraries are designed to be flexible, customizable and reusable to support automated accessibility testing in different testing workflows from unit to integration tests.
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              sa11y has a low active ecosystem.
              It has 64 star(s) with 21 fork(s). There are 12 watchers for this library.
              OutlinedDot
              It had no major release in the last 12 months.
              There are 9 open issues and 23 have been closed. On average issues are closed in 106 days. There are 5 open pull requests and 0 closed requests.
              It has a neutral sentiment in the developer community.
              The latest version of sa11y is v5.1.0

            kandi-Quality Quality

              sa11y has no bugs reported.

            kandi-Security Security

              sa11y has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.

            kandi-License License

              sa11y is licensed under the BSD-3-Clause License. This license is Permissive.
              Permissive licenses have the least restrictions, and you can use them in most projects.

            kandi-Reuse Reuse

              sa11y releases are available to install and integrate.

            Top functions reviewed by kandi - BETA

            kandi's functional review helps you automatically verify the functionalities of the libraries and avoid rework.
            Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of sa11y
            Get all kandi verified functions for this library.

            sa11y Key Features

            No Key Features are available at this moment for sa11y.

            sa11y Examples and Code Snippets

            No Code Snippets are available at this moment for sa11y.

            Community Discussions

            QUESTION

            pa11y json configuration file for actions : https://github.com/pa11y/pa11y#actions
            Asked 2022-Feb-03 at 14:29

            We use jenkins CI tool for automated accessibility testing provided by pa11y. As such i use the below Jenkinsfile to run the tests.

            ...

            ANSWER

            Answered 2022-Feb-03 at 14:29

            QUESTION

            How do I pass in arguments non-interactive into a bash file that uses "read"?
            Asked 2021-Oct-27 at 02:58

            I have the following shell script:

            ...

            ANSWER

            Answered 2021-Oct-27 at 02:58

            QUESTION

            @testcafe-community/axe does not report violations that other tools do
            Asked 2021-Jun-07 at 09:51

            I am exploring tools I can use for automated Accessibility Testing and wanted to try axe-core with TestCafe. I am an advocate of TestCafe, I love that is a lightweight tool and doesn't have dependencies on WebDriver. The docs are great and the scripting is easy.

            I have however found that @testcafe-community/axe and its predecessor axe-testcafe do not report all violations while axe-core with selenium and axe-webdriverjs do. For example, running with axe-webdriverjs, I have the following code and resulting output showing the violations of a localhost page I am checking -

            Code:

            ...

            ANSWER

            Answered 2021-Jun-04 at 16:42

            The documentation for axe-core states that you need to specify which rules you intend to test against using axe.run options.

            Landmarks are discussed in WCAG 1.3.6., which is a "Level AAA" item. It appears that axe-core is only capable of testing against "Level A" and "Level AA." In your example, the item is not listed by the tool as a WCAG failure, but rather a best-practices recommendation. This may be why it isn't showing up in your other tools.

            If you can easily implement this recommendation, then I'd say go ahead and do it. If not, I wouldn't let something like this stop my code from going into production. Landmarks are nice-to-have, but it's far more important that you meet all "Level A" requirements and as many "Level AA" requirements as you reasonably can.

            It's worth noting that any automated accessibility testing tool is nothing more than a starting point for manual evaluation. These tools often generate tons of false positives (and sometimes miss important things!) because it's often not possible to algorithmically determine whether something is genuinely useful to human visitors.

            I've also seen pages/apps that pass automated tools with no errors (Wave, Axe, etc.), but they are completely impossible to use with assistive technology.

            Source https://stackoverflow.com/questions/67835012

            QUESTION

            False Positives in Cypress-axe Plugin for Accessibility Testing
            Asked 2021-Jan-06 at 09:11

            I am running accessibility testing using the cypress-axe plugin with cypress and storybook. The cypress-axe plugin continually gives false positives when having made the required changes.

            The false positive is for page-has-heading-one but I clearly have a h1 element present in the screenshot.

            False Positive screenshot

            Cypress version: 6.1

            cypress-axe version: 0.12.0

            Here's the html for the element in question:

            ...

            ANSWER

            Answered 2021-Jan-06 at 09:11

            Not a false positive.

            The second you gave the

            a role you changed it's semantic meaning.

            role="banner" is effectively the same as

            in HTML5, so you have changed your into a element as far as a computer and assistive technology is concerned.

            Remove that role="banner" from your

            and it will work as expected (and be semantically correct).

            Also while you are tidying things up

            is the same as , you should always try to use semantically correct native HTML elements where you can as they will make your mark-up cleaner and they have wider support.

            Source https://stackoverflow.com/questions/65588794

            QUESTION

            Fix invalid nested lists with jQuery
            Asked 2020-Aug-14 at 14:19

            I have been left with a rather large legacy pile of HTML. I have multiple lists that have sub lists that have not been incorporated into list item, although this renders correctly, it still causes a problem in accessibility testing. Is there a jQuery method that allow me to correct this, until I can convince the content providers to do it properly?

            ...

            ANSWER

            Answered 2020-Aug-14 at 14:19

            Select only lists which are children of lists and use jQuery's appendTo() method to move them to the previous list element:

            Source https://stackoverflow.com/questions/63414046

            QUESTION

            Aria-label gives a DAP violation for tag in dropdown
            Asked 2020-Jul-02 at 19:17

            I am doing Accessibility testing for an Angular project at work. We use JAWS screen reader. We also use a plugin that identifies issues in the UI and reports them as violations. I am getting one for dropdowns that I'm not able to resolve. It is Accessible name does not match or contain the visible label text.

            The code I have for the dropdown is:

            ...

            ANSWER

            Answered 2020-Jul-02 at 19:17
            Ideal answer

            You shouldn't have to manually truncate labels, because that's a pure visual artifact to cop with insufficient space.

            CSS should ideally be able to handle this case for you automatically, so that you would just write the full label and don't care at all.

            The CSS to do that exists. The property is called text-overflow with the value èllipsis`. Example here

            However, very often, and even in recent browsers, CSS support for is very limited and incomplete. IN some browsers, you are even not allowed to change text color. So, applying text-overflow: ellipsis certainly won't work, sadly. IN a ideal world this would be by far the best solution.

            Second best answer

            You shouldn't have to manually truncate labels. If it can't be done automatically for you in CSS in case you lack space, the next best would probably be to reorganize your layout to make sure you have enough space to see entirely the longest label.

            You may have a different aria-label than visible text, but generally it isn't recommanded. Hance the warning of your accessibility checker to remind it to you.

            It isn't recommanded because several groups of people can have difficulties. For example, partially sighted people or those having dyslexia, who rely both on visible text and speech synthesis, will read the abbreviation but hear the full tex. It can be very confusing.

            Third answer

            If you really can't rearrange your layout to make all labels visible in full text, ignore the warning, leave the full text in aria-label and the shortened text visible as it is currently. There are problems for several groups of people, well, but it isn't so bad afterall. It would probably be much worse for accessibility if you decided to switch your < for a custom component. So I would still strongly advice you to keep your whatever the situation. Blind people and keyboard only users will thank you.

            However, always remember that warnings are never present for nothing. They point you to a potential problem you'd better to solve. This is definitly not a false positive!

            Source https://stackoverflow.com/questions/62643389

            QUESTION

            JAWS reads Headings as clickable even though parent div has not click handler associated
            Asked 2020-Jul-01 at 06:51

            I am working on accessibility testing for an Angular project. I have some code for a modal that is as below

            ...

            ANSWER

            Answered 2020-Jul-01 at 06:51
            Short Answer

            Remove the tabindex.

            Long Answer

            Headings should not have a tabindex (other than maybe a tabindex="-1", covered below).

            Anything with a tabindex is considered to be interactive and it is expected that you have supplied the relevant handlers for focus, click, keyboard keys etc.

            Your QA is incorrect on this and is making the software harder to use.

            The only time it is appropriate to use a tabindex on a heading is if you need to programatically focus it (for example on an AJAX application where you load a new page in it is a good practice to focus the heading level 1 on the page to let screen reader users know the new page has loaded in.) At this point the only tabindex that is appropriate is tabindex="-1" so that it can only be focused programatically and not via the tab key.

            Your QA may think that screen reader users need to be able to focus the headings, this is not the case! They use shortcut keys within their screen reader to access headings on the page.

            Also remove it from

            as that is also not interactive.

            Finally it is likely you do not need tabindex="-1" on the modal itself as when you open the modal you should focus either the first interactive element or the close button (which in your case appears to be the cancel button anyway.), however there may be functionality in your software that I am not aware of so that is just a point to consider.

            Source https://stackoverflow.com/questions/62668790

            QUESTION

            Testcafe Accessibility test as a module
            Asked 2020-Jun-03 at 12:25

            I am trying to include Testcafe aXe tests as a module as follows:

            ...

            ANSWER

            Answered 2020-Jun-03 at 12:25

            You need to pass the TestController object as a parameter of the a11() function. So, your code will look as follows:

            Source https://stackoverflow.com/questions/62162788

            QUESTION

            Getting error "org.openqa.selenium.JavascriptException: javascript error: eval is disabled" while trying to do accessibility testing using Axe-Core
            Asked 2020-May-16 at 07:40

            I am trying to do accessibility testing using Axe-Core tool using Java as the Programming language. I was able to get the result from many pages in my application but for one of the page, I am getting error as

            ...

            ANSWER

            Answered 2020-May-16 at 07:40

            My suspicion is that you are getting this error as the site you are testing has a content security policy

            A Content Security Policy (CSP) allows a website owner to protect their end users by ensuring no malicious third party JS, CSS images etc. are injected into the site. Anything included in the CSP is allowed, anything not included is blocked.

            Within a CSP it will block JavaScript eval function, which is required in your programme.

            The site owner would have to explicitly allow eval on their site (as it is blocked by default if you have any JS rules in your CSP) by adding unsafe-eval as one of the rules on their CSP.

            Taken from the page I linked on CSP:-

            'unsafe-eval'

            Allows the use of eval() and similar methods for creating code from strings. You must include the single quotes.

            The only way you could fix this is by asking the owner of the site to add that to their CSP or by changing whichever function is injecting eval into their site.

            If you want another site to test to confirm it is CSP that is blocking your script you can try mine https://klu.io as my CSP is very strict.

            Update after conversations

            It appears I got the problem correct but not the cause.

            This was being caused by the website overriding window.eval to throw an error (basically disabling it). The following fiddle demonstrates this behaviour in it's most basic form.

            Source https://stackoverflow.com/questions/61818289

            QUESTION

            Espresso AccessibilityChecks Testing Deprecated
            Asked 2020-Jan-17 at 21:47

            I am automating accessibility testing with espresso, but it reports that androidx.test.espresso.contrib.AccessibilityChecks as deprecated.

            I surfed the internet and found the non-deprecated AccessibilityChecks class which should be used instead. But would be appreciate if anyone can provide the non-deprecated gradle dependency

            This is my testing class

            ...

            ANSWER

            Answered 2020-Jan-17 at 21:47

            The below is the right dependency for the non-deprecated AccessibilityChecks I found it here along with many other Espresso testing APIs

            Source https://stackoverflow.com/questions/59779670

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network

            Vulnerabilities

            No vulnerabilities reported

            Install sa11y

            You can download it from GitHub.

            Support

            For any new features, suggestions and bugs create an issue on GitHub. If you have any questions check and ask questions on community page Stack Overflow .
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
            CLONE
          • HTTPS

            https://github.com/salesforce/sa11y.git

          • CLI

            gh repo clone salesforce/sa11y

          • sshUrl

            git@github.com:salesforce/sa11y.git

          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link