ICEfaces
  1. ICEfaces
  2. ICE-6663

selectOneRadio is rendered as a <fieldset> which requires a <legend> tag for 508 compliance

    Details

    • Assignee Priority:
      P2
    • Affects:
      Documentation (User Guide, Ref. Guide, etc.)
    • Workaround Exists:
      Yes
    • Workaround Description:
      Use the stock JSF selectOneRadio component as it does not render with a <fieldset> tag.

      Description

      The <ice:selectOneRadio> component is rendered as a <fieldset> tag. According to 508 compliance a <fieldset> tag needs to have a <legend> tag which is used by screen readers.

      Customer request/suggestions:

      It would be great if the selectOneRadio had a "legend" attribute we could set and get passed through as a <legend> tag inside the fieldset (or the label attribute could be used for this as it appears to currently do nothing). It should be noted we have applications using 1.8.2 and 2.0.0 and the issue exists in both.

      Sample ICEFaces code:

      <ice:selectOneRadio title="test title" label="test label" >
      <f:selectItem itemLabel="test 1" itemValue="test 1"/>
      <f:selectItem itemLabel="test 2" itemValue="test 2"/>
      <f:selectItem itemLabel="test 4" itemValue="test 3"/>
      </ice:selectOneRadio>

      Rendered HTML:

      <fieldset class="iceSelOneRb" id="j_idt11:j_idt73" title="test title">
      <table border="0" cellpadding="0" cellspacing="0" class="iceSelOneRb">
      <tr>
      <td>
      <input id="j_idt11:j_idt73:_1" name="j_idt11:j_idt73" onblur="setFocus('');" onfocus="setFocus(this.id);" onkeypress="Ice.util.radioCheckboxEnter(form,this,event);" type="radio" value="test 1" />
      <label class="iceSelOneRb" for="j_idt11:j_idt73:_1">test 1</label>
      </td>
      <td>
      <input id="j_idt11:j_idt73:_2" name="j_idt11:j_idt73" onblur="setFocus('');" onfocus="setFocus(this.id);" onkeypress="Ice.util.radioCheckboxEnter(form,this,event);" type="radio" value="test 2" />
      <label class="iceSelOneRb" for="j_idt11:j_idt73:_2">test 2</label>
      </td>
      <td>
      <input id="j_idt11:j_idt73:_3" name="j_idt11:j_idt73" onblur="setFocus('');" onfocus="setFocus(this.id);" onkeypress="Ice.util.radioCheckboxEnter(form,this,event);" type="radio" value="test 3" />
      <label class="iceSelOneRb" for="j_idt11:j_idt73:_3">test 4</label>
      </td>
      </tr>
      </table>
      </fieldset>

        Activity

        Arran Mccullough created issue -
        Hide
        Arran Mccullough added a comment -

        Link for more information: http://warc.calpoly.edu/accessibility/508indepth/forms.html

        Field Set and Legend Tags

        Group together multiple form elements that are of related information using the fieldset tag, and label it with the legend tag. For example, group radio buttons or check boxes in the same category. Visually, this makes more sense to viewers, but also, when a screen reader goes through a form grouped with the fieldset and legend tags, it will read the legend followed by the form element within the grouping. The form below will be read as: Personal Information, First Name, Personal Information, Last Name, Hobbies, Sports, Music, Video Games, Reading.

        Show
        Arran Mccullough added a comment - Link for more information: http://warc.calpoly.edu/accessibility/508indepth/forms.html Field Set and Legend Tags Group together multiple form elements that are of related information using the fieldset tag, and label it with the legend tag. For example, group radio buttons or check boxes in the same category. Visually, this makes more sense to viewers, but also, when a screen reader goes through a form grouped with the fieldset and legend tags, it will read the legend followed by the form element within the grouping. The form below will be read as: Personal Information, First Name, Personal Information, Last Name, Hobbies, Sports, Music, Video Games, Reading.
        Arran Mccullough made changes -
        Field Original Value New Value
        Salesforce Case [5007000000GBnj2]
        Arran Mccullough made changes -
        Workaround Description Use the stock JSF selectOneRadio component as it does not render with a <fieldset> tag.
        Workaround Exists [Yes]
        Ken Fyten made changes -
        Fix Version/s 2.1 [ 10241 ]
        Fix Version/s 1.8.2-EE-GA_P03 [ 10251 ]
        Affects [Documentation (User Guide, Ref. Guide, etc.)]
        Ken Fyten made changes -
        Assignee Priority P2
        Assignee yip.ng [ yip.ng ]
        Ken Fyten made changes -
        Fix Version/s 2.0.2 [ 10273 ]
        Ken Fyten made changes -
        Fix Version/s EE-2.0.0.GA_P01 [ 10271 ]
        Fix Version/s 2.0.2 [ 10273 ]
        yip.ng made changes -
        Attachment screenshot-01.png [ 13211 ]
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #24498 Fri May 06 08:56:30 MDT 2011 yip.ng ICE-6663: selectOneRadio is rendered as a <fieldset> which requires a <legend> tag for 508 compliance.
        Files Changed
        Commit graph MODIFY /icefaces/trunk/icefaces/core/src/com/icesoft/faces/renderkit/dom_html_basic/SelectManyCheckboxListRenderer.java
        Commit graph MODIFY /icefaces/trunk/icefaces/component-metadata/src/main/resources/conf/ice_properties/ice-selectOneRadio-props.xml
        Commit graph MODIFY /icefaces/trunk/icefaces/component/src/com/icesoft/faces/component/ext/HtmlSelectOneRadio.java
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #24499 Fri May 06 09:00:45 MDT 2011 yip.ng ICE-6663: selectOneRadio is rendered as a <fieldset> which requires a <legend> tag for 508 compliance.
        Files Changed
        Commit graph MODIFY /icefaces2/trunk/icefaces/compat/component-metadata/src/main/resources/conf/ice_properties/ice-selectOneRadio-props.xml
        Commit graph MODIFY /icefaces2/trunk/icefaces/compat/components/src/main/java/com/icesoft/faces/component/ext/HtmlSelectOneRadio.java
        Commit graph MODIFY /icefaces2/trunk/icefaces/compat/core/src/main/java/com/icesoft/faces/renderkit/dom_html_basic/SelectManyCheckboxListRenderer.java
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #24500 Fri May 06 09:02:28 MDT 2011 yip.ng ICE-6663: selectOneRadio is rendered as a <fieldset> which requires a <legend> tag for 508 compliance.
        Files Changed
        Commit graph MODIFY /icefaces2/branches/icefaces-2.0.x-maintenance/icefaces/compat/components/src/main/java/com/icesoft/faces/component/ext/HtmlSelectOneRadio.java
        Commit graph MODIFY /icefaces2/branches/icefaces-2.0.x-maintenance/icefaces/compat/core/src/main/java/com/icesoft/faces/renderkit/dom_html_basic/SelectManyCheckboxListRenderer.java
        Commit graph MODIFY /icefaces2/branches/icefaces-2.0.x-maintenance/icefaces/compat/component-metadata/src/main/resources/conf/ice_properties/ice-selectOneRadio-props.xml
        Hide
        yip.ng added a comment - - edited

        Done. See screenshots 1 and 2.

        Revision: 24498


        Modified : /icefaces/trunk/icefaces/component/src/com/icesoft/faces/component/ext/HtmlSelectOneRadio.java
        Modified : /icefaces/trunk/icefaces/component-metadata/src/main/resources/conf/ice_properties/ice-selectOneRadio-props.xml
        Modified : /icefaces/trunk/icefaces/core/src/com/icesoft/faces/renderkit/dom_html_basic/SelectManyCheckboxListRenderer.java

        Revision: 24499


        Modified : /icefaces2/trunk/icefaces/compat/component-metadata/src/main/resources/conf/ice_properties/ice-selectOneRadio-props.xml
        Modified : /icefaces2/trunk/icefaces/compat/components/src/main/java/com/icesoft/faces/component/ext/HtmlSelectOneRadio.java
        Modified : /icefaces2/trunk/icefaces/compat/core/src/main/java/com/icesoft/faces/renderkit/dom_html_basic/SelectManyCheckboxListRenderer.java

        Revision: 24500


        Modified : /icefaces2/branches/icefaces-2.0.x-maintenance/icefaces/compat/component-metadata/src/main/resources/conf/ice_properties/ice-selectOneRadio-props.xml
        Modified : /icefaces2/branches/icefaces-2.0.x-maintenance/icefaces/compat/components/src/main/java/com/icesoft/faces/component/ext/HtmlSelectOneRadio.java
        Modified : /icefaces2/branches/icefaces-2.0.x-maintenance/icefaces/compat/core/src/main/java/com/icesoft/faces/renderkit/dom_html_basic/SelectManyCheckboxListRenderer.java

        Revision: 24504


        Modified : /icefaces/trunk/icefaces/component-metadata/src/main/resources/conf/ice_properties/ice-selectOneRadio-props.xml

        Revision: 24505


        Modified : /icefaces2/trunk/icefaces/compat/component-metadata/src/main/resources/conf/ice_properties/ice-selectOneRadio-props.xml

        Revision: 24506


        Modified : /icefaces2/branches/icefaces-2.0.x-maintenance/icefaces/compat/component-metadata/src/main/resources/conf/ice_properties/ice-selectOneRadio-props.xml

        Show
        yip.ng added a comment - - edited Done. See screenshots 1 and 2. Revision: 24498 Modified : /icefaces/trunk/icefaces/component/src/com/icesoft/faces/component/ext/HtmlSelectOneRadio.java Modified : /icefaces/trunk/icefaces/component-metadata/src/main/resources/conf/ice_properties/ice-selectOneRadio-props.xml Modified : /icefaces/trunk/icefaces/core/src/com/icesoft/faces/renderkit/dom_html_basic/SelectManyCheckboxListRenderer.java Revision: 24499 Modified : /icefaces2/trunk/icefaces/compat/component-metadata/src/main/resources/conf/ice_properties/ice-selectOneRadio-props.xml Modified : /icefaces2/trunk/icefaces/compat/components/src/main/java/com/icesoft/faces/component/ext/HtmlSelectOneRadio.java Modified : /icefaces2/trunk/icefaces/compat/core/src/main/java/com/icesoft/faces/renderkit/dom_html_basic/SelectManyCheckboxListRenderer.java Revision: 24500 Modified : /icefaces2/branches/icefaces-2.0.x-maintenance/icefaces/compat/component-metadata/src/main/resources/conf/ice_properties/ice-selectOneRadio-props.xml Modified : /icefaces2/branches/icefaces-2.0.x-maintenance/icefaces/compat/components/src/main/java/com/icesoft/faces/component/ext/HtmlSelectOneRadio.java Modified : /icefaces2/branches/icefaces-2.0.x-maintenance/icefaces/compat/core/src/main/java/com/icesoft/faces/renderkit/dom_html_basic/SelectManyCheckboxListRenderer.java Revision: 24504 Modified : /icefaces/trunk/icefaces/component-metadata/src/main/resources/conf/ice_properties/ice-selectOneRadio-props.xml Revision: 24505 Modified : /icefaces2/trunk/icefaces/compat/component-metadata/src/main/resources/conf/ice_properties/ice-selectOneRadio-props.xml Revision: 24506 Modified : /icefaces2/branches/icefaces-2.0.x-maintenance/icefaces/compat/component-metadata/src/main/resources/conf/ice_properties/ice-selectOneRadio-props.xml
        yip.ng made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        yip.ng made changes -
        Attachment screenshot-02.png [ 13213 ]
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #24504 Fri May 06 14:21:23 MDT 2011 yip.ng ICE-6663: selectOneRadio is rendered as a <fieldset> which requires a <legend> tag for 508 compliance.
        Files Changed
        Commit graph MODIFY /icefaces/trunk/icefaces/component-metadata/src/main/resources/conf/ice_properties/ice-selectOneRadio-props.xml
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #24505 Fri May 06 14:22:26 MDT 2011 yip.ng ICE-6663: selectOneRadio is rendered as a <fieldset> which requires a <legend> tag for 508 compliance.
        Files Changed
        Commit graph MODIFY /icefaces2/trunk/icefaces/compat/component-metadata/src/main/resources/conf/ice_properties/ice-selectOneRadio-props.xml
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #24506 Fri May 06 14:23:53 MDT 2011 yip.ng ICE-6663: selectOneRadio is rendered as a <fieldset> which requires a <legend> tag for 508 compliance.
        Files Changed
        Commit graph MODIFY /icefaces2/branches/icefaces-2.0.x-maintenance/icefaces/compat/component-metadata/src/main/resources/conf/ice_properties/ice-selectOneRadio-props.xml
        yip.ng made changes -
        Attachment screenshot-02.png [ 13213 ]
        yip.ng made changes -
        Attachment screenshot-02.png [ 13214 ]
        Ken Fyten made changes -
        Fix Version/s 2.1-Beta [ 10291 ]
        Fix Version/s 2.1 [ 10241 ]
        Ken Fyten made changes -
        Fix Version/s 3.0 [ 10241 ]
        Ken Fyten made changes -
        Status Resolved [ 5 ] Closed [ 6 ]

          People

          • Assignee:
            yip.ng
            Reporter:
            Arran Mccullough
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: