thepaciellogroup / arc-tracker Goto Github PK
View Code? Open in Web Editor NEWPublic issue tracker for the ARC Toolkit extension
Home Page: https://www.paciellogroup.com/toolkit/
Public issue tracker for the ARC Toolkit extension
Home Page: https://www.paciellogroup.com/toolkit/
When running a test on an image it says the aria-label is missing, when it's actually there
A passed test
An error; failed test
Version: 3.3.2.0
Windows 10 Home
Chrome Version 79.0.3945.130 (Official Build) (64-bit)
I'm getting an Unknown Table Purpose when using role="grid". We're using a plugin so I do not own the code but willing to reach out to the developers to see if they'll make an update, I'm just not sure how to fix it. I tried adding a visually hidden and there is an aria-labelledby attribute that points to a <h2>
tag/text. What am I missing? How do I fix this or would I consider this a false positive?
Step 1: go to https://telegraphdistrict.com/events/
Step 2: click on Month link/button
Step 3: if no upcoming events appear use the "<" to go back to a month that has events (January 2023 should). A calendar should then appear
Step 4: run ARC Toolkit scan and the Unknown Table Purpose Alert should appear
5.4.2
Windows 10 Version 21H2 (OS Build 19044.2251)
Chrome 108.0.5359.125 (Official Build) (64-bit)
Using ARC toolkit, output list of images on a page where one of the images is a white icon or logo with a transparent background
The image should be displayed in the list of images with a darker background
The image is not visible as it renders a white image on a white background
Go to this page: https://considerthesourceny.org/getting-started or any of the pages on this site and run ARC toolkit. The white logo in the footer won't be visible in the list of images.
4.3.2.1
Windows 10
Chrome 91
ARC Toolkit does not work with the websites using CustomElements Shadow DOM
ARC Toolkit should behave like assistive technology and support CustomElements Shadow DOM
ARC Toolkit does not recognize any elements within the CustomElements Shadow DOM
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>ARC Toolkit Shadow DOM issue</title>
</head>
<body>
<main role="main"><h1>My Product</h1></main>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>ARC Toolkit Shadow DOM issue</title>
<script>
class ProductTitle extends HTMLElement {
connectedCallback() {
this.attachShadow({ mode: 'open' });
this.shadowRoot.innerHTML = "<h1>My Product</h1>";
}
}
customElements.define('my-product-title', ProductTitle);
</script>
</head>
<body>
<main role="main"><my-product-title></my-product-title></main>
</body>
</html>
CustomElements are a widely used standard and without support for it ARC Toolkit becomes useless in most modern websites.
Version: 3.3.2.0
Windows 10
Google Chrome Version 85.0.4183.121 (Official Build) (64-bit)
The company I work for tests Website Accessibility, when opening console and selecting the ARC Toolkit tab, I then click on the check box for text spacing, it would be really helpful if while the browser is open for arc to save or remember the check box selected, that way when I close the console and reopen it, the check box is still active, this means I don't have to go through the same process each time I open Console.
I would like to be able to open Console - Click on ARC - Select the Text Spacing check box once - then when I open and close console it activates and deactivates text spacing without further intervention.
n/a
When running a scan on the following html using ARC Toolkit it will report the following errors even though the element has aria-hidden="true"
.
HTML:
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" focusable="false" aria-hidden="true"></svg>
Errors:
noImageRole Error: missing role = 'img' on SVG element
svgMissingAriaLabelledby Error: verify <svg> label
I would not expect to get any errors.
Got errors.
https://codesandbox.io/s/unruffled-elbakyan-sg2r4?file=/index.html
4.3.2.0
OSX 10.14.6
Chrome Version 88.0.4324.150 (Official Build) (x86_64)
ARC Toolkit extension has been installed in Chrome but doesn't show in Dev console.
Issue occurs in Windows 11.
ARC Toolkit extension can be seen in Dev console in Windows 10.
n/a
4.3.2.1
Chrome v103.0.5060.114 (Official Build) (64-bit)
The Arc Toolkit displays a warning for elements with role="combobox"
and aria-expanded="true"
combination.
But this combination is absolutely compliant to the standard and even recommended with examples in the official documentation https://www.w3.org/TR/wai-aria-1.2/#combobox
No warning
A warning is shown: ariaExpandedOnInvalidRole - Warning: aria-expanded is on an element where it will not be conveyed to screen reader users - Recommend: aria-expanded should be placed on the element which controls the visibility of another element
Official example from here https://www.w3.org/TR/wai-aria-1.2/#combobox
<label for="tag_combo">Tag</label>
<input type="text" id="tag_combo"
role="combobox" aria-autocomplete="list"
aria-haspopup="listbox" aria-expanded="true"
aria-controls="popup_listbox" aria-activedescendant="selected_option">
<ul role="listbox" id="popup_listbox">
<li role="option">Zebra</li>
<li role="option" id="selected_option">Zoom</li>
</ul>
3.3.2.0
Windows 10
Chrome Version 84.0.4147.135 (Official Build) (64-bit)
If an element in the audited page is styled with a negative text-indent text-indent: -2rem
and is highlighted by ARC Toolkit, the yellow text ("badge") is displayed outside the black background because of the negative text-indent on parent element and is unreadable.
Text added by the extension would need some CSS reset to avoid this situation.
I'd expect highlighting text to be readable (all characters of the yellow text displayed on the black background.
The first letters of the yellow highlighting text have no background and are unreadable.
JSBin where 2 H2 and 3 paragraphs are styled with text-indent: -2rem
➡️ https://jsbin.com/fobowivupi/
.languages-highlight-note
span (*) text-indent: 0
declaration. Highlighting text is now readable in this situation.(*) Or .headings-highlight-note
, .pseudoContent-highlight-note
, .forms-highlight-note-pre-node
for the 3 other features I tested. There are others obviously
There are probably a dozen other CSS properties that can be inherited by highlighting text and cause problems…
all: initial
is resetting too much properties, alas.
all: unset
seems OK with pseudo content and headings but not button, maybe because in the former case, it's inserted into the headings and in the latter case it's inserted right before the button?
Version 3.3.2.0
Windows 10 Pro, x64
Chromium Version 79.0.3922.0 (64-bits)
In the "Elements" tab of the dev tools, I have a
If I select an element in the main body of the page (not in an <iframe>), then "Limit to selected node" works fine.
Be able to limit the tool to run on the selected element.
The entire page was evaluated
www.espn.com, select the "sign up" blue button in the left navigation area (under the "Customize ESPN" section). A "Create Account" dialog displays that is contained in an iframe.
3.3.2.0
Windows 10
Chrome Version 79.0.3945.130 (Official Build) (64-bit)
When I run ARC Toolkit, using the Send DOM to ARIA Checker feature, I am getting badAriaAtrribute errors for ids containing colons in aria-labeledby, aria-controls etc.
The HTML spec is very liberal about ids - they must contain at least one non-whitespace character, and must be unique. "in particular, IDs can consist of just digits, start with a digit, start with an underscore, consist of just punctuation, etc.", therefore, ARC Toolkit (or the ARIA Checker it uses) should accept ids that contain colons, or indeed any other punctuation character.
Here's some example output for this snippet of code
<div id="dialog" role="dialog" hidden aria-labeledby="dialog:heading">
<h2 id="dialog:heading">This is the open dialog</h2>
<p>The dialog HTML element represents a dialog box.</p>
<button id="close">Close</button>
</div>
aria-labeledby=dialog:headingtag: DIV[dialog]
badAriaAttribute
Error: invalid aria state or property specified
WCAG 2.1 Success Criterion 4.1.2 Name, Role, Value (A)
Recommend: use a valid aria property or state name
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Test case for ids containing colons, referred to by ARIA attributes</title>
<style type="text/css" media="screen">
/* useful boilerplate stuff */
* {
box-sizing:border-box;
}
html {
background:gray;
}
body {
background:white;
font-family:sans-serif;
}
main[role='main'] {
max-width: 38rem;
padding: 1.5rem;
margin: auto;
background:silver;
}
div[role='dialog'] {
position: fixed;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 50%;
max-width: 36rem;
padding: 1.5rem;
margin: auto;
background:lightblue;
border:1px solid black;
}
</style>
</head>
<body>
<main role="main">
<h1>Test case</h1>
<p>...for ids containing colons, referred to by ARIA attributes</p>
<p>The dialog element has aria-labeledby pointing at the id of the heading within. This contains a colon character, which should be a valid id value.</p>
<button id="b">Open Dialog</button>
<div id="dialog" role="dialog" hidden aria-labeledby="dialog:heading">
<h2 id="dialog:heading" tabindex="-1">This is the open dialog</h2>
<p>The dialog HTML element represents a dialog box or other interactive component, such as a dismissible alert, inspector, or subwindow.</p>
<button id="close">Close</button>
</div>
</main>
<script>
window.onload = function() {
var b = document.getElementById("b");
var d = document.getElementById("dialog");
var c = document.getElementById("close");
var h = document.getElementById("dialog:heading");
c.onclick = function() {
d.setAttribute("hidden", "");
};
//
b.onclick = function () {
d.removeAttribute("hidden");
h.focus();
};
d.onkeydown = function (e) {
if (e.keyCode === 27) { // ESC key
d.setAttribute("hidden", "");
}
};
}
</script>
</body>
</html>
4.3.2.1
Windows 10
Chrome Version 94.0.4606.61 (Official Build) (64-bit)
When inspecting the CSS that is injected by selecting the "Check text spacing (WCAG 2.1)" option, the CSS only contains three of the four requirements by 1.4.12.
<style type="text/css" id="ia11yVarsTextSpacingCss">
*{line-height: 1.5 !important;
letter-spacing: 0.12em !important;
word-spacing: 0.16em !important;}
</style>
(Note, format of block above was adjusted to make it easier to read but it was copy/pasted from the Chrome devtools inspector)
I expected to see a 4th CSS property such as p{ margin-bottom: 2em !important; }
to match 1.4.12's second bullet point.
Three of the four requirements are properly applied. The fourth requirement is missing.
Bring up any website and ARC Toolkit and check the box for "Check text spacing" then inspect the element of the page. The last element in the block is a <style> that was injected by the ARC Toolkit. It only contains three of the four CSS properties needed to test 1.4.12.
3.3.2.0
Windows 10
Chrome Version 84.0.4147.125 (Official Build) (64-bit)
The styles that are added to the page to aid with highlighting failing elements can sometimes conflict with class names used on the site.
Click on a group name in the results panel to highlight those results in the viewport.
Styles that are inlined by the extension override classes in the site's stylesheet (in my case, .callout
), causing the page layout to break.
Scope added elements and their associated inlined styles with a more unique namespace to avoid conflicts.
Example:
.callout
=> .arc__callout
,
.ia11y-hover
=> arc__ia11y-hover
,
.pseudoContent-highlight
=> .arc__pseudoContent-highlight
, etc
Version: 3.1.2.0
OSX 10.14.5
Version 74.0.3729.169 (Official Build) (64-bit)
I am encountering the nonPUAContentInSameTextElement
failure on content inserted via the CSS content
rule in a ::before
pseudo-element, which should be innocuous: for example CSS counters created with the counter()
function, and on a zero-width space used to "fix" a Safari accessbility bug, where Safari does not report list semantics to AT when list-style: none
is applied (see https://www.scottohara.me/blog/2019/01/12/lists-and-safari.html)
The toolkit's suggestion that I should apply these characters in a span
with aria-hidden="true"
is not possible in this case, as this is raw HTML text content received from a CMS; nor would it be the correct way anyway, of applying css-counters for example.
Characters such as a zero-width space or a css counter should not cause a failure.
Failure
The following codepen shows both techniques:
https://codepen.io/lunelson/full/abzRZYo
3.3.2.0
macOS 10.15.2
Chrome Version 79.0.3945.117 (Official Build) (64-bit)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.