Wrong error message for popular HTML code (`div` within a `label`)
Nobody has claimed this yet.
- Dominant language
- OCaml
- Stars
- 179
- Forks
- 63
- Avg merge
- 5h
- Merged PRs (30d)
- 22
Description
There is a popular way to style checkbox based on this HTML code:
<label class="switch" for="checkbox">
<input type="checkbox" id="checkbox" />
<div class="slider"></div>
</label>
What I did not realise is that this HTML, although popular, does not respect the specification (div should be span here).
TyXML does detect that and correctly rejects the program:
let%html checkbox =
"<label class='switch' for='checkbox'>"
"<input type='checkbox' id='checkbox' />"
"<div class='slider'></div>"
"</label>"
However, the error message is just wrong: Error: Unmatched start tag 'label', pointing at the beginning of the label element. It took me quite a long time to understand what was happening: it would be nice to have it pointing to the div element instead and state that it can't be within a label element.
I'm using TyXML 4.6.0 with tyxml-ppx.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the tyxml-ppx HTML validation handling and reproduce the label containing a div from the issue. Trace which element produces the unmatched-start-tag error; done means the diagnostic points to the div and states that it cannot occur within a label element.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- ocaml
- Domain
- web-dev
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 35/100