- Posts: 13909
- Thank you received: 2546
Welcome to the LimeSurvey Community Forum
Ask the community, share ideas, and connect with other LimeSurvey users!
moreAccessibility
- DenisChenu
- Topic Author
- Away
- LimeSurvey Community Team
Less
More
8 years 4 months ago #127714
by DenisChenu
Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development .
I don't answer to private message.
Replied by DenisChenu on topic moreAccessibility
Hi,
I think this 2 bug MUST be fixed in core . But want the best for this
For checkbox / other : actually : we show it in javascript ...
without js:
i update display:none to visibility:hidden .... just for 'better look' , bad idea here ....
JS do :
BUT we are in HTML4, then aria-hidden don't work (and must be put in HTML).
The checkbox/other is used only in JS : we don't need it : it not used by PHP. Only answer841587X1918X41648other is used . Best is to remove it directly (first patch remove it, adding it in JS only).
This must be fixed in core .
For radio/other
Yes, actually : we have strange labelling here .
What is your advice for best accessibility ?
I look at your code. For best update of answer part, actully : i used DOMDocument() and not regexp. regexp is more unsecure i think (for LS update).
But still : i have to make a clean PULL request for core system with "question labelling" , really fix core . Maybe for LS3 ?
Denis
PS: if you have a github account : i make a repo on github
I think this 2 bug MUST be fixed in core . But want the best for this
For checkbox / other : actually : we show it in javascript ...
without js:
Code:
<input class="checkbox other-checkbox dontread" style="visibility:hidden" name="841587X1918X41648othercbox" id="answer841587X1918X41648othercbox" type="checkbox"> <label for="answer841587X1918X41648other" class="answertext">Other:</label> <input class="text " name="841587X1918X41648other" id="answer841587X1918X41648other" value="" type="text">
JS do :
Code:
$('#answer841587X1918X41648othercbox').prop('aria-hidden', 'true').css('visibility','');$('#answer841587X1918X41648other').bind('keyup focusout',function(event){ if ($.trim($(this).val()).length>0) { $("#answer841587X1918X41648othercbox").prop("checked",true); } else { $("#answer841587X1918X41648othercbox").prop("checked",false); }; $("#java841587X1918X41648other").val($(this).val());LEMflagMandOther("841587X1918X41648other",$('#answer841587X1918X41648othercbox').is(":checked")); checkconditions(this.value, this.name, this.type); })
The checkbox/other is used only in JS : we don't need it : it not used by PHP. Only answer841587X1918X41648other is used . Best is to remove it directly (first patch remove it, adding it in JS only).
This must be fixed in core .
For radio/other
Yes, actually : we have strange labelling here .
What is your advice for best accessibility ?
Code:
<input type="radio" value="-oth-" id="answer841587X1917X41646-oth-" /><label for="answer841587X1917X41646">Other (actual other),</label> <label for="answer841587X1917X41646othertext" class="hide">Please give detail</label><input type="text" id="answer841587X1917X41646othertext" value="" />
I look at your code. For best update of answer part, actully : i used DOMDocument() and not regexp. regexp is more unsecure i think (for LS update).
But still : i have to make a clean PULL request for core system with "question labelling" , really fix core . Maybe for LS3 ?
Denis
PS: if you have a github account : i make a repo on github
Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development .
I don't answer to private message.
The topic has been locked.
- DenisChenu
- Topic Author
- Away
- LimeSurvey Community Team
Less
More
- Posts: 13909
- Thank you received: 2546
8 years 4 months ago #127715
by DenisChenu
Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development .
I don't answer to private message.
Replied by DenisChenu on topic moreAccessibility
For the dontread .... i add this class to do some testing. SOmetimes it misplaced.
Better is to replace with aria-hidden="true" . Maybe in template.js ?
But i think i misplaced it in header of table .....
I test you plugin, OK, using aria-labelledby for input:text fix issue. A question : can we use aria-labelled-by with a HTML4 page.
If it work : we can add it before LimeSurvey 3.0. Just see if Carsten is OK, i make a feature request/bug report.
Denis
Better is to replace with aria-hidden="true" . Maybe in template.js ?
But i think i misplaced it in header of table .....
I test you plugin, OK, using aria-labelledby for input:text fix issue. A question : can we use aria-labelled-by with a HTML4 page.
If it work : we can add it before LimeSurvey 3.0. Just see if Carsten is OK, i make a feature request/bug report.
Denis
Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development .
I don't answer to private message.
The topic has been locked.
- cortxdp
- Offline
- New Member
Less
More
- Posts: 18
- Thank you received: 1
8 years 4 months ago - 8 years 4 months ago #127752
by cortxdp
Replied by cortxdp on topic moreAccessibility
Aria attributes are working with HTML4. Screen readers that support aria propertiees/attributes will read them. The only probem is that they don't validate with the w3c validator. Since it is functionnal, the validation errors are not a problem.
www.w3.org/TR/aria-in-html/
"2.8 ARIA validation
The easiest method is to use the HTML5 DOCTYPE with ARIA markup and validate using the W3C Nu Markup Checker. ARIA works equally well with any other DOCTYPE, but validation tools will produce errors when they encounter ARIA markup as the associated DTDs have not been updated to recognise ARIA markup and it is unlikely they ever will be.
These validation errors in versions of HTML prior of HTML5 are in no way indicative of ARIA creating any real world accessibility problems nor do they mean there will be a negative user experience. They are merely the result of old automated validation tests that do not accommodate ARIA accessibility annotations."
www.w3.org/TR/aria-in-html/
"2.8 ARIA validation
The easiest method is to use the HTML5 DOCTYPE with ARIA markup and validate using the W3C Nu Markup Checker. ARIA works equally well with any other DOCTYPE, but validation tools will produce errors when they encounter ARIA markup as the associated DTDs have not been updated to recognise ARIA markup and it is unlikely they ever will be.
These validation errors in versions of HTML prior of HTML5 are in no way indicative of ARIA creating any real world accessibility problems nor do they mean there will be a negative user experience. They are merely the result of old automated validation tests that do not accommodate ARIA accessibility annotations."
Last edit: 8 years 4 months ago by cortxdp.
The topic has been locked.
- cortxdp
- Offline
- New Member
Less
More
- Posts: 18
- Thank you received: 1
8 years 4 months ago #127754
by cortxdp
Replied by cortxdp on topic moreAccessibility
As I understand, Don't read was used to hide the checkbox so the only fields that was saw by screen raders was the textfield.
The JS is used to check and uncheck the box whether there's something in the textfield. That is fine.
But there is no need to hide the checkbox.
I'm no sure of the correct way to code it, but the result must be simple, the less javascript is needed the better. That's why I proposed
this (in pseudocode)
[Checkbox] [label (for checkbox)] [textfield(aria-labelledby the label)]
same thing for radio button
[radiobutton][label (for radiobutton)] [textfield(aria-labelledby the label)]
With this, we don't need to mess with "visibility:hidden" and other CSS apparatus anymore, wich mean better support by browsers and assistive technologies in the long run.
The JS is used to check and uncheck the box whether there's something in the textfield. That is fine.
But there is no need to hide the checkbox.
I'm no sure of the correct way to code it, but the result must be simple, the less javascript is needed the better. That's why I proposed
this (in pseudocode)
[Checkbox] [label (for checkbox)] [textfield(aria-labelledby the label)]
same thing for radio button
[radiobutton][label (for radiobutton)] [textfield(aria-labelledby the label)]
With this, we don't need to mess with "visibility:hidden" and other CSS apparatus anymore, wich mean better support by browsers and assistive technologies in the long run.
The topic has been locked.
- DenisChenu
- Topic Author
- Away
- LimeSurvey Community Team
Less
More
- Posts: 13909
- Thank you received: 2546
8 years 4 months ago #127777
by DenisChenu
Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development .
I don't answer to private message.
Replied by DenisChenu on topic moreAccessibility
Hi,
For checkbox :
visibility:hidden is OK too for screen browser (and i think it's best for usuability): we don't need this radio. We must add 'readonly' and 'tabindex=-1' and aria-hidden=true.
code:
For radio : i try to improve core, think your solution is OK.
We have Dev discussion tomorrow. I ask if we add aria-labelled-by in 2.5 or not. And add 'single question' label in core. Adding labelled-by 'help' 'tip' in a core plugin.
Denis
For checkbox :
visibility:hidden is OK too for screen browser (and i think it's best for usuability): we don't need this radio. We must add 'readonly' and 'tabindex=-1' and aria-hidden=true.
code:
Code:
<input type=checkbox readonly=readonly tabindex=-1 aria-hidden=true><label for='other'>Other :</label><input type='text' value='' id='other' />
For radio : i try to improve core, think your solution is OK.
We have Dev discussion tomorrow. I ask if we add aria-labelled-by in 2.5 or not. And add 'single question' label in core. Adding labelled-by 'help' 'tip' in a core plugin.
Denis
Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development .
I don't answer to private message.
The topic has been locked.
- DenisChenu
- Topic Author
- Away
- LimeSurvey Community Team
Less
More
- Posts: 13909
- Thank you received: 2546
8 years 4 months ago #128036
by DenisChenu
Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development .
I don't answer to private message.
Replied by DenisChenu on topic moreAccessibility
Hi,
Updated the plugin , wait for publishing because i use bitbucket.org/archon810/smartdomdocument and i'm unsure of the licencing here.
But new system can be tested here:
- Radio list : accessible.sondages.pro/22549?newtest=Y#
- Multiple choice : accessible.sondages.pro/76475?newtest=Y#
I have to update the demo to add english .
Updated the plugin , wait for publishing because i use bitbucket.org/archon810/smartdomdocument and i'm unsure of the licencing here.
But new system can be tested here:
- Radio list : accessible.sondages.pro/22549?newtest=Y#
- Multiple choice : accessible.sondages.pro/76475?newtest=Y#
I have to update the demo to add english .
Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development .
I don't answer to private message.
The topic has been locked.
- DenisChenu
- Topic Author
- Away
- LimeSurvey Community Team
Less
More
- Posts: 13909
- Thank you received: 2546
8 years 4 months ago #128134
by DenisChenu
Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development .
I don't answer to private message.
Replied by DenisChenu on topic moreAccessibility
Updated GIT:
- git.framasoft.org/SondagePro-LimeSurvey-...in/moreAccessibility
- bitbucket.org/shnoulle/ls-moreaccessibility
- github.com/Shnoulle/LS-moreAccessibility
- git.framasoft.org/SondagePro-LimeSurvey-...in/moreAccessibility
- bitbucket.org/shnoulle/ls-moreaccessibility
- github.com/Shnoulle/LS-moreAccessibility
Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development .
I don't answer to private message.
The topic has been locked.
- DenisChenu
- Topic Author
- Away
- LimeSurvey Community Team
Less
More
- Posts: 13909
- Thank you received: 2546
8 years 4 months ago #128353
by DenisChenu
Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development .
I don't answer to private message.
Replied by DenisChenu on topic moreAccessibility
Updated
Fix : use div , not span for help and questionhelp wrapper
Feature : allow to use role=group and radiogroup and aria-labelledBy for list of questiin in replace of fieldset with legend. Set by default : don't break existing template.
git.framasoft.org/SondagePro-LimeSurvey-...4efc52617838670c3172
Fix : use div , not span for help and questionhelp wrapper
Feature : allow to use role=group and radiogroup and aria-labelledBy for list of questiin in replace of fieldset with legend. Set by default : don't break existing template.
git.framasoft.org/SondagePro-LimeSurvey-...4efc52617838670c3172
Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development .
I don't answer to private message.
The topic has been locked.
- DenisChenu
- Topic Author
- Away
- LimeSurvey Community Team
Less
More
- Posts: 13909
- Thank you received: 2546
8 years 4 months ago #128564
by DenisChenu
Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development .
I don't answer to private message.
Replied by DenisChenu on topic moreAccessibility
Updated
- Add roles and aria-labelledby for arrays of answers (radio, text and checkbox)
Not for Array by column , some fix to do for Array dual scale .
Commit :
git.framasoft.org/SondagePro-LimeSurvey-...469b64710a3a5c1259d2
- Add roles and aria-labelledby for arrays of answers (radio, text and checkbox)
Not for Array by column , some fix to do for Array dual scale .
Commit :
git.framasoft.org/SondagePro-LimeSurvey-...469b64710a3a5c1259d2
Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development .
I don't answer to private message.
The topic has been locked.
- cortxdp
- Offline
- New Member
Less
More
- Posts: 18
- Thank you received: 1
8 years 3 months ago #129261
by cortxdp
Replied by cortxdp on topic moreAccessibility
Hi,
I'm getting back on this after a while. I installed this new version (1.3.3) and it seems to bug all my question list with the "Other" field. I have a 500 error. If I disactivate the "other" option, the question is showing fine.
The last version I tested before this one was the 1.2.0.
I'm getting back on this after a while. I installed this new version (1.3.3) and it seems to bug all my question list with the "Other" field. I have a 500 error. If I disactivate the "other" option, the question is showing fine.
The last version I tested before this one was the 1.2.0.
The topic has been locked.
- DenisChenu
- Topic Author
- Away
- LimeSurvey Community Team
Less
More
- Posts: 13909
- Thank you received: 2546
8 years 3 months ago #129262
by DenisChenu
accessible.sondages.pro/22549?newtest=Y# seems to work for me .... did you deactivate your plugin ? Maybe some incompatibility if your plugin goes first.
Can you activate debug mode and return the infrmation provided for error 500 ?
Denis
PS : best is to use dedicated tracker : git.framasoft.org/SondagePro-LimeSurvey-...Accessibility/issues
Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development .
I don't answer to private message.
Replied by DenisChenu on topic moreAccessibility
Hi,cortxdp wrote: Hi,
I'm getting back on this after a while. I installed this new version (1.3.3) and it seems to bug all my question list with the "Other" field. I have a 500 error. If I disactivate the "other" option, the question is showing fine.
The last version I tested before this one was the 1.2.0.
accessible.sondages.pro/22549?newtest=Y# seems to work for me .... did you deactivate your plugin ? Maybe some incompatibility if your plugin goes first.
Can you activate debug mode and return the infrmation provided for error 500 ?
Denis
PS : best is to use dedicated tracker : git.framasoft.org/SondagePro-LimeSurvey-...Accessibility/issues
Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development .
I don't answer to private message.
The topic has been locked.
- cortxdp
- Offline
- New Member
Less
More
- Posts: 18
- Thank you received: 1
8 years 3 months ago #129267
by cortxdp
Replied by cortxdp on topic moreAccessibility
I'll try that to give more informations and log it in the tracker.
Thanks
Thanks
The topic has been locked.