inclusive-design / achecker Goto Github PK
View Code? Open in Web Editor NEWAutomated interactive Web content accessibility checker.
Home Page: https://achecker.ca
License: GNU General Public License v2.0
Automated interactive Web content accessibility checker.
Home Page: https://achecker.ca
License: GNU General Public License v2.0
Ciao a tutti :)
I've found a problem, if you load too much code into HTML textarea field PHP will run out of memory (128M).
I suppose the problem is into simple_html_dom library but I can't debug at which level.
Reading library's documentation emerge that could be related to a known problem with a PHP5 memory leak: http://simplehtmldom.sourceforge.net/manual_faq.htm#memory_leak
You can reproduce the bug acting like this:
( ! ) Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 226101 bytes) in /var/www/include/lib/simple_html_dom.php on line 614
Call Stack
# Time Memory Function Location
1 0.0129 1351312 {main}( ) ../index.php:0
2 0.1782 4723836 AccessibilityValidator->validate( ) ../index.php:258
3 0.1782 4723836 AccessibilityValidator->get_simple_html_dom( ) ../AccessibilityValidator.class.php:80
4 0.1782 4723836 str_get_dom( ) ../AccessibilityValidator.class.php:143
5 0.1782 4725644 simple_html_dom->load( ) ../simple_html_dom.php:43
6 7.6116 29384796 simple_html_dom->parse( ) ../simple_html_dom.php:464
7 7.6116 29384868 simple_html_dom->read_tag( ) ../simple_html_dom.php:550
8 7.6117 29386560 substr ( ) ../simple_html_dom.php:614
Hi,
I tried to run both local and on line, this file:(attached 087016 )
(I have this problems only with some files, and with others don't, all files in the same directory)
087016.zip
Local version AChecker 1.3
Xampp Php 5.3.0
Browser Mozilla
Local AChecker returns me error.(like cannoct connect to url)
On line version runs correctly.
The local AChecker error could be related to the file or something else?
Could you please try to run in local this file and tell me if it runs correctly?
Thanks.
This is the same as what is running on http://www.atutor.ca/achecker/ I assume. Can we add that URL to the Readme and the repository description? https://stackoverflow.com/questions/7757751/how-do-you-change-a-repository-description-on-github
Hi,
I don't know if this question is appropriate here, but I thought I would give it a go. Several of my company's customers have been hit with Accessibility lawsuits that are basically of the form "Here is the output of Achecker. Now give us money". Of course, getting a letter like that is distressing, especially if you thought your site was accessible.
I read over your license. It seems pretty well written. I am not an attorney, but it is doesn't seem like that use of Achecker is a violation of the the license terms, though it seems like the spirit of this software is to assist developers.
Any thought on the matter? I don't know if there is anything to be done, but I thought it wouldn't hurt to reach out.
Thanks,
--Matt
Hi,
I am installing AChecker locally. When I get to the Accounts & Preferences page, enter the information and hit 'next' all it does is clear the password field and nothing happens. I've let it sit for about 20 minutes. I've even dropped the database and tried again from scratch and nothing.
I'll paste the log of my php server below:
PHP 7.3.11-0ubuntu0.19.10.1 Development Server started at Fri Nov 29 11:03:10 2019
Listening on http://localhost:8003
Document root is /home/cbooth/AChecker
Press Ctrl-C to quit.
[Fri Nov 29 11:03:13 2019] [::1]:44494 [302]: /
[Fri Nov 29 11:03:13 2019] PHP Warning: Use of undefined constant AC_TEMP_DIR - assumed '
AC_TEMP_DIR' (this will throw an Error in a future version of PHP) in /home/cbooth/AChecker
/include/constants.inc.php on line 154
[Fri Nov 29 11:03:13 2019] [::1]:44496 [200]: /install/not_installed.php
[Fri Nov 29 11:03:13 2019] [::1]:44498 [200]: /install/stylesheet.css
[Fri Nov 29 11:03:13 2019] [::1]:44500 [200]: /images/achecker_logo.png
[Fri Nov 29 11:03:13 2019] [::1]:44502 [404]: /favicon.ico - No such file or directory
[Fri Nov 29 11:03:13 2019] [::1]:44504 [200]: /install/stylesheet.css
[Fri Nov 29 11:03:15 2019] PHP Warning: Use of undefined constant AC_TEMP_DIR - assumed
'AC_TEMP_DIR' (this will throw an Error in a future version of PHP) in /home/cbooth/AChecker
/include/constants.inc.php on line 154
[Fri Nov 29 11:03:15 2019] [::1]:44506 [200]: /install/index.php
[Fri Nov 29 11:03:15 2019] [::1]:44508 [200]: /install/images/feedback.gif
[Fri Nov 29 11:03:15 2019] [::1]:44510 [200]: /install/stylesheet.css
[Fri Nov 29 11:03:15 2019] [::1]:44512 [200]: /images/achecker_logo.png
[Fri Nov 29 11:03:15 2019] [::1]:44514 [200]: /install/stylesheet.css
[Fri Nov 29 11:03:15 2019] [::1]:44516 [404]: /install/images/cellpic1.gif - No such file or directory
[Fri Nov 29 11:03:17 2019] [::1]:44518 [200]: /install/install.php
[Fri Nov 29 11:03:17 2019] [::1]:44520 [200]: /install/stylesheet.css
[Fri Nov 29 11:03:17 2019] [::1]:44522 [200]: /images/check.gif
[Fri Nov 29 11:03:17 2019] [::1]:44524 [200]: /images/clr.gif
[Fri Nov 29 11:03:17 2019] [::1]:44526 [200]: /images/achecker_logo.png
[Fri Nov 29 11:03:17 2019] [::1]:44528 [200]: /install/stylesheet.css
[Fri Nov 29 11:03:18 2019] [::1]:44530 [200]: /install/install.php
[Fri Nov 29 11:03:18 2019] [::1]:44532 [200]: /install/stylesheet.css
[Fri Nov 29 11:03:18 2019] [::1]:44534 [200]: /images/achecker_logo.png
[Fri Nov 29 11:03:18 2019] [::1]:44538 [200]: /images/clr.gif
[Fri Nov 29 11:03:18 2019] [::1]:44536 [200]: /images/check.gif
[Fri Nov 29 11:03:18 2019] [::1]:44540 [200]: /install/stylesheet.css
[Fri Nov 29 11:03:29 2019] [::1]:44542 [200]: /install/install.php
[Fri Nov 29 11:03:29 2019] [::1]:44544 [200]: /install/stylesheet.css
[Fri Nov 29 11:03:29 2019] [::1]:44546 [200]: /images/achecker_logo.png
[Fri Nov 29 11:03:29 2019] [::1]:44548 [200]: /images/check.gif
[Fri Nov 29 11:03:29 2019] [::1]:44550 [200]: /images/clr.gif
[Fri Nov 29 11:03:29 2019] [::1]:44552 [200]: /install/images/feedback.gif
[Fri Nov 29 11:03:29 2019] [::1]:44554 [200]: /install/stylesheet.css
[Fri Nov 29 11:03:32 2019] [::1]:44556 [200]: /install/install.php
[Fri Nov 29 11:03:32 2019] [::1]:44558 [200]: /jscripts/sha-1factory.js
[Fri Nov 29 11:03:32 2019] [::1]:44560 [200]: /install/stylesheet.css
[Fri Nov 29 11:03:32 2019] [::1]:44562 [200]: /images/achecker_logo.png
[Fri Nov 29 11:03:32 2019] [::1]:44564 [200]: /images/check.gif
[Fri Nov 29 11:03:32 2019] [::1]:44566 [200]: /images/clr.gif
[Fri Nov 29 11:03:32 2019] [::1]:44568 [200]: /install/stylesheet.css
[Fri Nov 29 11:03:32 2019] [::1]:44570 [404]: /install/images/cellpic1.gif - No such file or directory
Requirements
PHP 7+
MySQL 4.1.13+
Composer
Right out of the 'box' when you drop this repo into a directory you can run the php web server, but that gets sticky. It's best to drop it into your www of your apache server. The reason I say this is that the mysql bit got 'stuck' using the php webserver. Speaking of mysql, I could not get achecker to recognize the database i had setup until i installed that.
So that was the major gotchas i ran into attempting to install this version of achecker.
Hi,
In some cases where the webpage is served with XHTML, UTF-8, but really serving ISO-8859-1, the XML that is returned, when selecting output=REST, becomes invalid.
It is full of â entities. [quote]It is an encoding issue. The non-breaking space, encoded in UTF-8 (the document makes the claim to be in UTF-8) is hex C2A0 (two bytes) but in ISO-8859-1 it is hex A0 (one byte). My browser thinks your page is ISO-8859-1. This is due to the Content-type header being incorrect.[quote]
http://ncsuwebdev.ning.com/forum/topics/the-case-of-the-mysterious
I would suggest the following change as shown in this diff:
--- RESTWebServiceOutput.class.php (saved version)
+++ (current document)
@@ -36,7 +36,7 @@
// REST templates
var $rest_main =
-'
+'
@@ -65,6 +65,7 @@
+
]>
@@ -225,7 +226,7 @@
$error['check_id'],
htmlentities(_AC("suggest_improvements")),
htmlentities(_AC($row_check['err'])),
htmlentities($error["html_code"]),
htmlentities(utf8_decode($error["html_code"])),
$repair,
$decision),
$this->rest_result);
@@ -340,7 +341,7 @@
public static function generateSuccessRpt()
{
$rest_success =
-'
+'
success
Here in Italy Stanca Act is abandoned, we just adopting WCAG 2.0 points grouped in Requisiti rules.
More information in English can be found here: http://versie1.webrichtlijnen.nl/english/guidelines/
Of course it has overlap with WCAG guidelines.
Startpage in Dutch: http://www.webrichtlijnen.nl/
Achecker is fine with this code. No errors.
<label for="example">Let's submit some text</label>
<input type="text" id="example" name="text">
<input type="submit" id="text" value="Send">
But if you replace the <input type="submit" id="text" value="Send">
with <input type="image" id="text" value="Send" src="image.gif" alt="image">
then it returns an error message about needing an additional label for the <input type="image">
tag!
This is wrong. According to W3C, "The element is a button, specifically a Submit Button."
https://www.w3.org/TR/html52/sec-forms.html#image-button-state-typeimage
So the image button in itself should not require a label to be added. Please fix this.
I got encoding errors when I called REST API for the pages including Korean characters.
(other languages are same except English, I think)
For example, check this url
http://samsung.co.kr/main.do
(This page includes some Korean characters in title and other tags.)
I think this problem is caused by ISO-8859-1 encoding.
What about using UTF-8 encoding for REST API (responses XML)?
Although the current workflow works great, it would be nice to quickly make a decision for all options rather than manually re-checking every input checkbox.
Would it be possible to add a button that runs these jQuery commands? Perhaps add an alert that says "Are you sure you want to confirm all likely and potential problems?"
$('input[type="checkbox"]').attr('checked', true);
$('input[value="Make Decision(s)"]').click();
css validation with achecker doesn't work anymore. I think the problem may be some change in jigsaw validator's page code.
Hi,
I tried to install the AChecker but i get error at mysql step.
I am using MariaDB can the AChecker work with MariaDB?
I seem to forgot my password for http://achecker.ca/ but when following the forgotten password link that's emailed to me and setting a new password the page redirects to a blank http://achecker.ca/password_reminder.php
Tried in Chrome and IE. IE says it's a 500 error.
I'm unable to reset the password and subsequently can't log in :(
I believe I've come across an issue with the achecker that results in invalid colour contrasts being passed.
In the example attached we have:
When you run it through the achecker test against WCAG 2.0 AA - only the paragraph light colour element comes up with an error.
From my understanding of the requirements, links in WCAG 2.0 AA have two minimum contrast requirements -
Which should mean the link would not pass because:
Oddly, it correctly fails when the same colour is used for non-linked text (paragraph light color).
When you choose a more extreme contrast like #fff linked text with #fff background (so the link is completely invisible to the eye) it still passes.
Attached test case html file.
In the algorithm for Rule 204 - All input elements, type of "radio" have a label containing text, steps 7 and 8 state:
input
element is contained by a label
elementHowever, your detection for text inside the label is limited to text preceding the input. So the following element will validate as valid:
<label>
My billing and shipping addresses are the same <input name="billing" type="radio" />
</label>
But this element will not:
<label>
<input name="billing" type="radio" /> My billing and shipping addresses are the same
</label>
Since the WAI recommends that all left-to-right languages place text to the right of radio buttons and checkboxes, in LTR languages, this check results in a false positive.
The problem appears to be located in the associated_label_has_text
function, which constructs a regular expression for the innerHTML of the label element, but omits a second capture group for text / HTML nodes to the right of the input element. So a rudimentary fix would look something like the following:
public static function associated_label_has_text($e, $content_dom)
{
...
// 2. The element $e is contained by a "label" element
if ($e->parent()->tag == "label")
{
$pattern = "/(.*)". preg_quote($e->outertext, '/') ."(.*)/";
preg_match($pattern, $e->parent->innertext, $matches);
if (strlen(trim($matches[1])) > 0) return true;
if (strlen(trim($matches[2])) > 0) return true;
}
...
return false;
}
I am installing Achecker but while installation I am getting error "../include/config.inc.php not found ".
So I created an empty file named config.inc.php but I am still getting that error. So I checked the codebase but couldn't find "config.inc.php" . Please add config.in.php.
Hi,
I ran some files with local achecker 1.3, php version 5.3.0.(attached one for testing).
i tried uploading file with internet connection active and not active, and giving local url to file with internet connection active and not active.
Achecker returns me 0 html validation problems when connection internet is down, returns correctly html error(12) when internet connection is active.
Giving local url achecker returns me warning like( file get contents()(http://validator.w3.org/check?uri=http://127.0.0.1/SOLOHTML/058029.html): failed to open stream:php network getaddresses:getaddrinfo failed
So I ask you if achecker needs internet connection active to connect to the w3c validator, also when i use local achecker 1.3
Because seems to me it needs internet conncetion active to connect to the w3c validator for html validation, otherwise returns 0 html validation.
Do you confirm that local achecker works like I said?
Also change known problems and potential when local achecker 1.3 runs with internet connection active or down.
namefile uploaded:058029
local achecker 1.3with internet active
Known Problems(93)Likely Problems (23)Potential Problems (409)HTML Validation (12)
local achecker 1.3 with internet not active
Known Problems(65) Likely Problems (23)Potential Problems (472) HTML Validation (0)
Is it all expected or is it a bug?
Sorry for so many questions.
Thanks.
058029.zip
Hi, achecker returns a different number of potential problems (uploading the same file) using
version n.1.3 (local installed) and using achecker on line https://achecker.ca/checker/index.php
How it is possible?
I'm always satisfied when I use AChecker.
I want AChecker's GitHub repo to stay up and archived if possible.
I have used other web accessibility checkers, and AChecker is a part of my toolkit.
Thank you to all the contributors for creating great software, and making an impact on all of us internationally.
is there a good way to automate checking an entire site with aChecker?
Hi,
Using these two browsers(mozilla and chrome) https://achecker.ca/checker/index.php returns me different result for likely and potential problems, for the same file uploaded.
Wcag 2.0 (AA)
Mozilla returns :0 known, 1 likely, 405 potential
Chrome return: 0 known, 0 likely, 243 potential
Shoulden't be always the same problems, also with different browser?
Running in local achecker returns me: 0 known, 0 likely , 243 potential errors.
061025.zip
Thank you again.
It would awesome if AChecker also supports Direct Input, just like W3C does: http://validator.w3.org/#validate_by_input
I want to validate my content before saving the page, so I need something to validate the content before it's actual a working URL.
Would this be possible?
It's been down for months according to wayback machine: http://www.achecker.ca
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.