Tables parsing issue - with <tr> inside <tr> case
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 45/100
Research direction
Start by reproducing the minimal nested-table input in the HTML5 parser and compare its output with the expected table structure shown in the issue. Trace the parser’s handling of a encountered inside another , then add coverage for this case and confirm that the final remains inside the parent table.
Written by the indexing model from the issue text.
Description
When working with code generated by Microsoft Outlook I found a case where DOMDocument based parser has no problem with specific code, but HTML5 parser does.
The minimal test case input is this:
<table id="t1">
<tr>
<td>
<table id="t2">
<tr>
<tr>
<td></td>
</tr>
</tr>
</table>
</td>
</tr>
<tr><td></td></tr>
</table>
Note the <tr> element as a child of another <tr>. This causes HTML5 parser to output:
<table id="t1">
<tr>
<td>
<table id="t2">
<tr></tr>
<tr>
<td></td>
</tr>
</table>
</td>
</tr>
</table>
<tr><td></td></tr>
Which obviously is invalid and causes the parent table to be "closed" before it should, leaving the next (here: last) tr element outside of the table.
Reference: https://github.com/roundcube/roundcubemail/issues/7356
- Dominant language
- HTML
- Stars
- 1.8k
- Forks
- 123
- PR merge metrics
- No merged PRs in 30d
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
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.
More from Masterminds/html5-php
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
Masterminds/html5-php#280 ·
-
Template contents participate in the DOM treePossibly taken A pull request linked to this issue is open or already merged. Openhelp-wanted
Difficulty 4/5 3-5 days Newbie friendliness 35/100
Masterminds/html5-php#252 · 1 comment · 1 reaction ·
-
Difficulty 3/5 1-2 days Newbie friendliness 35/100
Masterminds/html5-php#251 ·
-
Parser remove the single < (less than) character from given html stringPossibly taken A pull request linked to this issue is open or already merged. Open
Difficulty 3/5 1-2 days Newbie friendliness 35/100
Masterminds/html5-php#250 · 5 comments · 2 reactions ·
-
Difficulty 4/5 3-5 days Newbie friendliness 28/100
Masterminds/html5-php#246 · 1 comment ·
All issues in Masterminds/html5-php
Similar issues
-
clawsweeper:needs-maintainer-review clawsweeper:needs-product-decision clawsweeper:no-new-fix-pr impact:session-state issue-rating: 🌊 off-meta tidepool P2
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
openclaw/openclaw#165245 · 1 comment · 1 reaction ·
Maintainers usually reply within 1 day
-
bug(hub,chat): Wave-2 web chat sendAgentRouted does not update RecordChannel reply affinity to 'web'Open
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
GoogleCloudPlatform/scion#2448 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
paperclipai/paperclip#15145 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
diegosouzapw/OmniRoute#15531 ·
Maintainers usually reply within 2 days
-
area:frontend bug FE P3
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
klasolsson81/jobbliggaren#2010 ·
Maintainers usually reply within 1 day