This uses capybara-validate_html5 to validate HTML when parsing response bodies in the web route tests. This found numerous HTML validation issues: 1. <form> directly inside <tr> (many cases) 2. <p> nested inside <p> (nesting not allowed, so second <p> implicitly closes first <p>, and second </p> is therefore invalid) (2 cases) 3. Use of </br> instead of <br> (1 case) 4. Missing </div> (1 case) 5. Plain text responses with text/html content-type (2 cases) To fix the first case, the forms in question are moved inside <td>. If thtere are inputs in other <td> in the same <tr>, the <form> has an id attribute, an the other inputs use a form attribute to tie them to the correct <form>.
2.7 KiB
2.7 KiB