From 164b1fbac49bf1a1edb2bf4ba1a6c4d4dd1b47a5 Mon Sep 17 00:00:00 2001
From: Ralf Zimmermann <ralf.zimmermann@tritum.de>
Date: Fri, 30 Jun 2017 10:54:10 +0200
Subject: [PATCH] [BUGFIX] EXT:form - fix radio button html markup

Make the radio button html markup closer to
http://getbootstrap.com/css/#checkboxes-and-radios

- remove the "for" attribute from the container label tag
- add the "radio" class to the elements div wrapper
- remove the class attribute from the elements label tag

Resolves: #81715
Releases: master
Change-Id: Ic4be5b51f38fb2313e230bfaf0f85ec7fe8431c9
Reviewed-on: https://review.typo3.org/53364
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Mathias Brodala <mbrodala@pagemachine.de>
Tested-by: Mathias Brodala <mbrodala@pagemachine.de>
Reviewed-by: Joerg Boesche <typo3@joergboesche.de>
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
---
 .../Frontend/Partials/RadioButton.html        | 37 ++++++++++---------
 1 file changed, 20 insertions(+), 17 deletions(-)

diff --git a/typo3/sysext/form/Resources/Private/Frontend/Partials/RadioButton.html b/typo3/sysext/form/Resources/Private/Frontend/Partials/RadioButton.html
index c47d2171a93d..b707826cf2ee 100644
--- a/typo3/sysext/form/Resources/Private/Frontend/Partials/RadioButton.html
+++ b/typo3/sysext/form/Resources/Private/Frontend/Partials/RadioButton.html
@@ -1,22 +1,25 @@
 <html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" xmlns:formvh="http://typo3.org/ns/TYPO3/CMS/Form/ViewHelpers" data-namespace-typo3-fluid="true">
 <formvh:renderRenderable renderable="{element}">
-	<f:render partial="Field/Field" arguments="{element: element}" contentAs="elementContent">
-		<div id="{element.uniqueIdentifier}" class="inputs-list">
-			<div class="form-group">
-				<f:for each="{element.properties.options}" as="label" key="value">
-					<div class="form-check">
-						<label class="form-check-label">
-							<f:form.radio
-								property="{element.identifier}"
-								class="{element.properties.elementClassAttribute} form-check-input"
-								value="{value}"
-								errorClass="{element.properties.elementErrorClassAttribute}"
-								additionalAttributes="{formvh:translateElementProperty(element: element, property: 'fluidAdditionalAttributes')}"
-							/>
-							<span>{formvh:translateElementProperty(element: element, property: 'options.{value}')}</span>
-						</label>
-					</div>
-				</f:for>
+	<f:render partial="Field/Field" arguments="{element: element, doNotShowLabel: 1}" contentAs="elementContent">
+		<label class="control-label">{formvh:translateElementProperty(element: element, property: 'label')}<f:if condition="{element.required}"><f:render partial="Field/Required" /></f:if></label>
+		<div class="{element.properties.containerClassAttribute}">
+			<div id="{element.uniqueIdentifier}" class="inputs-list">
+				<div class="form-group">
+					<f:for each="{element.properties.options}" as="label" key="value">
+						<div class="radio">
+							<label>
+								<f:form.radio
+									property="{element.identifier}"
+									class="{element.properties.elementClassAttribute} form-check-input"
+									value="{value}"
+									errorClass="{element.properties.elementErrorClassAttribute}"
+									additionalAttributes="{formvh:translateElementProperty(element: element, property: 'fluidAdditionalAttributes')}"
+								/>
+								<span>{formvh:translateElementProperty(element: element, property: 'options.{value}')}</span>
+							</label>
+						</div>
+					</f:for>
+				</div>
 			</div>
 		</div>
 	</f:render>
-- 
GitLab