View Issue Details

IDProjectCategoryView StatusLast Update
09494Bug reports[All Projects] Accessibilitypublic2016-06-07 16:08
ReporterlstrangeAssigned ToLouisGac 
PrioritylowSeverityfeature 
Status closedResolutionfixed 
Product Version2.50.x 
Target VersionFixed in Version2.50.x 
Summary09494: Section 508 issue with class="hide label"
Description

Testing with JAWS screen reader, version 15:

Example of a hidden label for Section 508 compliance for a short answer question.
<label for="answer685328X430X4640" class="hide label">Answer</label>
So it just reads "answer, answer, answer" as you tab through your question inputs.

Answer needs to be set to the question id (ie, question4648)
I'm guessing it does this for long answer question types, etc.

For Dropdown question type:
<label for="answer685328X431X4695" class="hide label">Please choose</label>
The hidden label is automatically set to “Please choose” – same as above where it needs to be set to the question field to read the question properly.

TagsNo tags attached.
Complete LimeSurvey version number (& build)Version 2.05+ Build 141229
I will donate to the project if issue is resolvedNo
BrowserAny
Database & DB-VersionMySQL 5.1.73
Operating System (Server)Apache
Webserver software & versionhttpd 2.2.15-39.el6
PHP VersionPHP Version 5.3.3

Relationships

related to 09500 closedDenisChenu Feature requests Add ANSWER + QUESTIONHELP + QUESTIONHELPPLAINTEXT to beforeQuestionRender 

Activities

lstrange

lstrange

2015-02-04 19:03

reporter   ~31637

This issue causes non-compliance with section 508, which is a requirement for state and federal government entities.

DenisChenu

DenisChenu

2015-03-03 18:39

developer   ~31752

Last edited: 2015-03-03 18:40

View 2 revisions

We must move to labelled-by, but need more update here, or put the label directly to the question text for "single answer".

There are a label for each input : can you show me the 508 compliance link ?

lstrange

lstrange

2015-03-03 19:02

reporter   ~31753

Section 508 law pertaining to form labels: http://www.section508.gov/section-508-standards-guide#Web - refer to (n)
Good site to show technique: http://webaim.org/techniques/forms/controls

DenisChenu

DenisChenu

2015-03-04 07:59

developer   ~31755

Last edited: 2015-03-04 08:03

View 2 revisions

I know webaim and http://wave.webaim.org ....

This part of section don't show a "not 508" compliance for LS.

I know LS have some accessibility optimisation, but we can not do it great actually. Here : i think we need labelled-by system. Not other.

Or a "accessibility" plugin.

Leave it, but in devloppement for a future release.

PS: maybe the sentence i bad.

But actually it's :
A big sentence/ explanation
< label >Your answer</ label> INPUT

"Your answer" is translatable.

Actually we need:

  • Label on question for 'one question"
  • fieldset for other question type
DenisChenu

DenisChenu

2015-03-04 08:07

developer   ~31756

PS:
QUOTE:
Page headings and labels for form and interactive controls are informative. Avoid duplicating heading (e.g., "More Details") or label text (e.g., "First Name") unless the structure provides adequate differentiation between them.

http://webaim.org/standards/wcag/checklist#sc2.4.6

Its' avoid, and not "forbidden". IPut the question text before is OK.

PS: we don't have [required] etc ...

DenisChenu

DenisChenu

2015-03-04 19:23

developer   ~31764

Think we can add label to question text and remove the lable of the answer with http://bugs.limesurvey.org/view.php?id=9500 in a plugin.

This surely Broke all core template, then need : a plugin + a template.

I work on such plugin when 2.06 is out (9500 is near ending dev).

lstrange

lstrange

2015-03-09 18:12

reporter   ~31802

Is there any idea on when 2.06 may be launched?
You mentioned putting the question text before the question (without the label for) but screen readers won't read it without the 'label for" association.
Thank you!

DenisChenu

DenisChenu

2015-03-12 15:33

developer   ~31808

I don't understand :

We have :
QUESTION BLOCK
The question text filled by the admin
< label > Answer< /label>< input >
END OF QUESTION BLOCK

Screen reader's read the estion text BEFORE reading label.

2.06 is out in alpha version actually.

We have too

  • the "star" to replace by "This question is mandatory" for screen reader
  • Show the list of errors at start of the page
  • Show if there are error in "title" when submitting and return to same page.

Etc ....

DenisChenu

DenisChenu

2015-03-12 15:39

developer  

DenisChenu

DenisChenu

2015-03-12 15:39

developer   ~31809

Uploaded FANG screenshot

DenisChenu

DenisChenu

2015-07-02 16:30

developer   ~32605

https://git.framasoft.org/Shnoulle/moreAccessibility

Please : download the plugin , activate and see if it's fix the issue.
Project is to include the plugin and activate it by default in LimeSurvey.

DenisChenu

DenisChenu

2015-07-02 17:08

developer   ~32606

UOdated : add some fieldset,
Disable by default mandatory and fieldset. Can be enabled in plugin settings

DenisChenu

DenisChenu

2015-07-02 17:14

developer   ~32607

Move the project : https://git.framasoft.org/SondagePro-LimeSurvey-plugin/moreAccessibility

DenisChenu

DenisChenu

2015-07-03 08:51

developer   ~32610

@lstrange : please : con you try the plugin (just activation) and see if it fix the issue.
If isue fixed : i move the plugin to core (activated by default).

Denis

bramd

bramd

2015-08-02 22:36

reporter   ~32862

I'm testing your plugin.

  • Labels for text questions work fine
  • The fieldset for multiple answers is broken, please include the question as a legend in the fieldset and make sure the legend is the first element in this fieldset. Then, put a label around every answer. As it is now, the fieldset doen't have an effect for screenreaders
  • Please indicate required questions by putting an aria-required attribute on the related input elements
  • Please consider markign invalid answers by aria-invalid, but make sure the invalid state is not triggered on first page load e.g. if a user hasn't entered anything in the field yet
  • Please check the hide and jshide classes, now they are still visible for screenreader users

I looked at your code, but I'm not familiar enough with LimeSurvey to include this improvements in your plugin so far, otherwise I would supply a patch.

DenisChenu

DenisChenu

2015-09-16 16:29

developer   ~33112

Fixed : empty fieldset in last GIT version https://git.framasoft.org/SondagePro-LimeSurvey-plugin/moreAccessibility/commit/5b1301ed7605018ef00314e16ac7cb19cb0557a8

For aria-required : i have a 'required' system in JS BECAUSE a required value can be not reuired with Exepression Manager
For aria-invalid : don't have possibility actually to fix it : EM js is broken
hide class: yes : the purpose of this class is to be shown for screenreaders , unsure fo jshide

DenisChenu

DenisChenu

2015-09-16 16:35

developer   ~33113

Ps: i think i make a SkeletonQuest with fieldset and legend inside. A better system

DenisChenu

DenisChenu

2015-11-02 17:26

developer   ~33488

Dev team decision is to report this to 3.0 ....
Sorry .

BUT : i improve moreAccessibility plugin more and more :)

LouisGac

LouisGac

2016-05-11 12:52

manager   ~38325

HTML flow has been rewritten

DenisChenu

DenisChenu

2016-05-11 14:01

developer   ~38330

It's not because HTML is updated is better than before in term in accessibility.

LouisGac

LouisGac

2016-05-11 14:24

manager   ~38334

sure, but this bug is no more relevant, there is no more tags like :
"<label for="answer685328X431X4695" class="hide label">Please choose</label>"

DenisChenu

DenisChenu

2016-05-11 14:51

developer   ~38345

No, it's for "single" question type .

If you remove it : 508 issue : https://www.w3.org/TR/WCAG20-TECHS/H44.html
If you leave it : this issue : the label is not the best one.

Fixed in 2.06 with plugin https://git.framasoft.org/SondagePro-LimeSurvey-plugin/moreAccessibility/blob/master/moreAccessibility.php#L69

See https://bugs.limesurvey.org/view.php?id=5781 too

LouisGac

LouisGac

2016-06-07 16:08

manager   ~39290

original bug is no more valid.
don't hesitate to create a new one corresponding to the new HTML flow.

Issue History

Date Modified Username Field Change
2015-02-04 17:57 lstrange New Issue
2015-02-04 19:03 lstrange Note Added: 31637
2015-03-03 16:24 c_schmitz Assigned To => DenisChenu
2015-03-03 16:24 c_schmitz Status new => assigned
2015-03-03 18:39 DenisChenu Note Added: 31752
2015-03-03 18:40 DenisChenu Note Edited: 31752 View Revisions
2015-03-03 19:02 lstrange Note Added: 31753
2015-03-04 07:59 DenisChenu Note Added: 31755
2015-03-04 08:03 DenisChenu Note Edited: 31755 View Revisions
2015-03-04 08:04 DenisChenu Priority high => low
2015-03-04 08:04 DenisChenu Severity major => minor
2015-03-04 08:07 DenisChenu Note Added: 31756
2015-03-04 08:07 DenisChenu Status assigned => acknowledged
2015-03-04 19:21 DenisChenu Relationship added related to 09500
2015-03-04 19:23 DenisChenu Note Added: 31764
2015-03-09 18:12 lstrange Note Added: 31802
2015-03-12 15:33 DenisChenu Note Added: 31808
2015-03-12 15:39 DenisChenu File Added: Capture du 2015-03-12 15:29:30.png
2015-03-12 15:39 DenisChenu Note Added: 31809
2015-07-02 16:30 DenisChenu Note Added: 32605
2015-07-02 16:31 DenisChenu Priority low => normal
2015-07-02 16:31 DenisChenu Severity minor => feature
2015-07-02 16:31 DenisChenu Resolution open => fixed
2015-07-02 17:08 DenisChenu Status acknowledged => confirmed
2015-07-02 17:08 DenisChenu Note Added: 32606
2015-07-02 17:14 DenisChenu Note Added: 32607
2015-07-03 08:51 DenisChenu Note Added: 32610
2015-07-03 08:51 DenisChenu Status confirmed => feedback
2015-08-02 22:36 bramd Note Added: 32862
2015-09-16 16:29 DenisChenu Note Added: 33112
2015-09-16 16:35 DenisChenu Note Added: 33113
2015-11-02 17:26 DenisChenu Note Added: 33488
2015-11-02 17:26 DenisChenu Status feedback => acknowledged
2016-03-15 11:33 LouisGac Priority normal => low
2016-03-15 11:33 LouisGac Product Version => 2.5
2016-05-11 12:52 LouisGac Note Added: 38325
2016-05-11 12:52 LouisGac Status acknowledged => resolved
2016-05-11 12:52 LouisGac Fixed in Version => 2.5
2016-05-11 14:01 DenisChenu Assigned To DenisChenu => LouisGac
2016-05-11 14:01 DenisChenu Status resolved => assigned
2016-05-11 14:01 DenisChenu Note Added: 38330
2016-05-11 14:24 LouisGac Note Added: 38334
2016-05-11 14:24 LouisGac Status assigned => resolved
2016-05-11 14:51 DenisChenu Note Added: 38345
2016-05-11 14:51 DenisChenu Status resolved => feedback
2016-05-11 14:51 DenisChenu Resolution fixed => reopened
2016-05-12 18:25 LouisGac Assigned To LouisGac =>
2016-06-07 16:08 LouisGac Note Added: 39290
2016-06-07 16:08 LouisGac Status feedback => closed
2016-06-07 16:08 LouisGac Assigned To => LouisGac
2016-06-07 16:08 LouisGac Resolution reopened => fixed