liip / TheA11yMachine

The A11y Machine is an automated accessibility testing tool which crawls and tests pages of any web application to produce detailed reports.
https://www.liip.ch/
621 stars 66 forks source link

a11ym fails on url special characters (&) #109

Open jasonday opened 7 years ago

jasonday commented 7 years ago

This issue requires encoding urls, which then outputs the report with encoded urls making the report less readable and less consumable for audiences.

I think it wuold be preferable to have T-A-M encode the urls and then decode them for the reports.

Hywan commented 7 years ago

Hello :-),

Can you provide an example please?

cc @jeanmonod

jasonday commented 7 years ago

This url fails in Windows PowerShell at the first &:

PS K:\> a11ym -m 1 -o test https
://url.com/jobs/intro?_ab_sessid=6f022ebc900f9cd04a6383f8eaab3c64&mobile=false&width=675&height=500&bga
=true&needsRedirect=false&jan1offset=-300&jun1offset=-240&in_iframe=1

At line:1 char:107
+ ... a6383f8eaab3c64&mobile=false&width=675&height=500&bga=true&needsRedirect=false&j ...
+                    ~
Ampersand not allowed. The & operator is reserved for future use; use "&" to pass ampersand as a string.
At line:1 char:120
+ ... 64&mobile=false&width=675&height=500&bga=true&needsRedirect=false&jan1offset=-30 ...
+                    ~
Ampersand not allowed. The & operator is reserved for future use; use "&" to pass ampersand as a string.
At line:1 char:130
+ ... false&width=675&height=500&bga=true&needsRedirect=false&jan1offset=-300&jun1offs ...
+                    ~
Ampersand not allowed. The & operator is reserved for future use; use "&" to pass ampersand as a string.
At line:1 char:141
+ ... =675&height=500&bga=true&needsRedirect=false&jan1offset=-300&jun1offset=-240&in_ ...
+                    ~
Ampersand not allowed. The & operator is reserved for future use; use "&" to pass ampersand as a string.
At line:1 char:150
Hywan commented 7 years ago

What if you add single quote around the URL?