Fix a bug in <label>
handling where 'for_' attribute should be 'htmlFor' on underlying HTML element.
#2352
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
An HTML
label
element should have afor
attribute to reference the id of the form element to which it applies. This is important for accessibility and CSS reasons.Until now, in
pyscript.web
you'd do:Except, this would end up as (note the lack of the
for
attribute):😞
The reason for this is because
for
is a keyword in both JavaScript and Python. In the HTMLLabel
element class this attribute is actually namedhtmlFor
. Hence the lack of thefor_
value sinking down to the HTML element.Changes
A very simple mapping of
for
->htmlFor
, along with updated unit tests to ensure it actually works as expected.Checklist
make build
works locally.