Skip to content

Not render Bootstrap radio label when false #31090

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 1 commit into from

Conversation

rvanlaak
Copy link
Contributor

Q A
Branch? 3.4 up to 4.2
Bug fix? yes
New feature? no
BC breaks? no
Deprecations? no
Tests pass? yes
Fixed tickets N/A
License MIT
Doc PR N/A

Bootstrap form theme does still render the <label>, even when label is set to false. The whole label should be wrapped in the check for false.

@@ -248,10 +248,12 @@
{%- endif -%}

{{ widget|raw }}
<label{% with { attr: label_attr } %}{{ block('attributes') }}{% endwith %}>
{{- label is not same as(false) ? (translation_domain is same as(false) ? label : label|trans({}, translation_domain)) -}}
{{- form_errors(form) -}}
Copy link
Contributor

@ro0NL ro0NL Apr 12, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i think it's intended to still render errors here, which is up for debate in general i believe :)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To show the error inside the label as well?

Could you suggest another way to not show the <label> when it was set to false?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To show the error inside the label as well?

Yep :) see #24435, #26167

cc @Nyholm

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Make sure errors are a part of the label on bootstrap 4 - this is a requirement for WCAG2

Ok clear 👍 Let's make sure that rule gets preserved. Then the question would be whether a label still should get rendered even when false gets passed.

The use-case here is that we want to render a custom label, while we want to keep using the Bootstrap theme for rendering the widget.

The problem is that {{ form_widget(} }} does render both the widget and the label. By passing false we basically say that userland is responsible for complying to the WCAG2 that the error should be rendered inside the label.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i once suggested to make the split explicit, i.e. form_label + form_label_with_errors

{{ form_widget(} }} does render both the widget and the label

this sounds like a violation of concerns already :)

im not sure what path to take. I agree a user could be responsible, and IMHO SF should provide low-level building blocks for it.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can't we fix the initial point for now? Display the label if there are errors?

Copy link
Contributor Author

@rvanlaak rvanlaak Jul 18, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Both when a value or false is passed for label the errors do get rendered. Rendering the errors in the label according to WCAG2 should get preserved.

The problem for userland ChoiceType implementations; when label => false is passed, the label value does not get rendered while the <label> tag does get rendered.

So the change I suggest via this PR is to also not render the <label> tag when false is passed. The error message will then bubble up to the parent (that also complies to WCAG2).

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are you sure that errors bubble up?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

friendly ping @rvanlaak

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Have been working on a unit test to verify this, but did not manage to complete that yet.

@nicolas-grekas nicolas-grekas added this to the 3.4 milestone Apr 14, 2019
@fabpot
Copy link
Member

fabpot commented Feb 3, 2020

Closing this PR as it is stale for a very long time. Feel free to reopen when ready.

@fabpot fabpot closed this Feb 3, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants