[Checkins] SVN: zope.app.form/trunk/src/zope/app/form/browser/ Add for attributes to <label>s rendered by RadioWidget.

Marius Gedminas marius at pov.lt
Mon Jul 2 05:44:26 EDT 2007


Log message for revision 77293:
  Add for attributes to <label>s rendered by RadioWidget.
  
  Fixes https://bugs.launchpad.net/zope3/+bug/123507
  
  

Changed:
  U   zope.app.form/trunk/src/zope/app/form/browser/itemswidgets.py
  U   zope.app.form/trunk/src/zope/app/form/browser/source.txt
  U   zope.app.form/trunk/src/zope/app/form/browser/tests/test_itemswidget.py

-=-
Modified: zope.app.form/trunk/src/zope/app/form/browser/itemswidgets.py
===================================================================
--- zope.app.form/trunk/src/zope/app/form/browser/itemswidgets.py	2007-07-02 09:36:48 UTC (rev 77292)
+++ zope.app.form/trunk/src/zope/app/form/browser/itemswidgets.py	2007-07-02 09:44:26 UTC (rev 77293)
@@ -467,7 +467,8 @@
                              type='radio',
                              **kw)
         return renderElement(u'label',
-                             contents='%s&nbsp;%s' % (elem, text))
+                             contents='%s&nbsp;%s' % (elem, text),
+                             **{'for': id})
 
     def renderValue(self, value):
         rendered_items = self.renderItems(value)

Modified: zope.app.form/trunk/src/zope/app/form/browser/source.txt
===================================================================
--- zope.app.form/trunk/src/zope/app/form/browser/source.txt	2007-07-02 09:36:48 UTC (rev 77292)
+++ zope.app.form/trunk/src/zope/app/form/browser/source.txt	2007-07-02 09:44:26 UTC (rev 77293)
@@ -173,16 +173,16 @@
   >>> print widget() # doctest: +NORMALIZE_WHITESPACE
   <div>
   <div class="value">
-  <label><input class="radioType" id="field.dog.0" name="field.dog"
-      type="radio" value="c3BvdA==" />&nbsp;spot</label><br 
-  /><label><input class="radioType" id="field.dog.1" name="field.dog"
-      type="radio" value="Ym93c2Vy" />&nbsp;bowser</label><br 
-  /><label><input class="radioType" id="field.dog.2" name="field.dog"
-      type="radio" value="cHJpbmNl" />&nbsp;prince</label><br
-  /><label><input class="radioType" id="field.dog.3" name="field.dog"
-      type="radio" value="ZHVjaGVzcw==" />&nbsp;duchess</label><br
-  /><label><input class="radioType" id="field.dog.4" name="field.dog"
-      type="radio" value="bGFzc2ll" />&nbsp;lassie</label>
+  <label for="field.dog.0"><input class="radioType" id="field.dog.0"
+      name="field.dog" type="radio" value="c3BvdA==" />&nbsp;spot</label><br 
+  /><label for="field.dog.1"><input class="radioType" id="field.dog.1"
+      name="field.dog" type="radio" value="Ym93c2Vy" />&nbsp;bowser</label><br 
+  /><label for="field.dog.2"><input class="radioType" id="field.dog.2"
+      name="field.dog" type="radio" value="cHJpbmNl" />&nbsp;prince</label><br
+  /><label for="field.dog.3"><input class="radioType" id="field.dog.3"
+      name="field.dog" type="radio" value="ZHVjaGVzcw==" />&nbsp;duchess</label><br
+  /><label for="field.dog.4"><input class="radioType" id="field.dog.4"
+      name="field.dog" type="radio" value="bGFzc2ll" />&nbsp;lassie</label>
   </div>
   <input name="field.dog-empty-marker" type="hidden" value="1" />
   </div>
@@ -197,16 +197,17 @@
   >>> print widget() # doctest: +NORMALIZE_WHITESPACE
   <div>
   <div class="value">
-  <label><input class="radioType" id="field.dog.0" name="field.dog"
-      type="radio" value="c3BvdA==" />&nbsp;spot</label><br 
-  /><label><input class="radioType" id="field.dog.1" name="field.dog"
-      type="radio" value="Ym93c2Vy" />&nbsp;bowser</label><br 
-  /><label><input class="radioType" id="field.dog.2" name="field.dog"
-      type="radio" value="cHJpbmNl" />&nbsp;prince</label><br
-  /><label><input class="radioType" id="field.dog.3" name="field.dog"
-      type="radio" value="ZHVjaGVzcw==" />&nbsp;duchess</label><br
-  /><label><input class="radioType" checked="checked" id="field.dog.4"
-      name="field.dog" type="radio" value="bGFzc2ll" />&nbsp;lassie</label>
+  <label for="field.dog.0"><input class="radioType" id="field.dog.0"
+      name="field.dog" type="radio" value="c3BvdA==" />&nbsp;spot</label><br 
+  /><label for="field.dog.1"><input class="radioType" id="field.dog.1"
+      name="field.dog" type="radio" value="Ym93c2Vy" />&nbsp;bowser</label><br 
+  /><label for="field.dog.2"><input class="radioType" id="field.dog.2"
+      name="field.dog" type="radio" value="cHJpbmNl" />&nbsp;prince</label><br
+  /><label for="field.dog.3"><input class="radioType" id="field.dog.3"
+      name="field.dog" type="radio" value="ZHVjaGVzcw==" />&nbsp;duchess</label><br
+  /><label for="field.dog.4"><input class="radioType" checked="checked"
+      id="field.dog.4" name="field.dog" type="radio" value="bGFzc2ll"
+      />&nbsp;lassie</label>
   </div>
   <input name="field.dog-empty-marker" type="hidden" value="1" />
   </div>

Modified: zope.app.form/trunk/src/zope/app/form/browser/tests/test_itemswidget.py
===================================================================
--- zope.app.form/trunk/src/zope/app/form/browser/tests/test_itemswidget.py	2007-07-02 09:36:48 UTC (rev 77292)
+++ zope.app.form/trunk/src/zope/app/form/browser/tests/test_itemswidget.py	2007-07-02 09:44:26 UTC (rev 77293)
@@ -402,10 +402,10 @@
 
     def test_renderValue(self):
         widget = self._makeWidget()
-        self.verifyResult(widget.renderValue(None), ['<br /><label><input'])
+        self.verifyResult(widget.renderValue(None), ['<br /><label for='])
         widget.orientation = 'horizontal'
         self.verifyResult(widget.renderValue(None),
-                          ['&nbsp;&nbsp;<label><input'])
+                          ['&nbsp;&nbsp;<label for='])
 
 
 class ItemsMultiEditWidgetBaseTest(ItemsEditWidgetBaseTest):



More information about the Checkins mailing list