we (web engine): Experimental web browser project to understand the limits of Claude
2
fork

Configure Feed

Select the types of activity you want to include in your feed.

Add Phase 16: Forms & User Input to development plan

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

+18
+18
PLAN.md
··· 197 197 - Layer tree and damage tracking for minimal repaints 198 198 - Memory profiling and optimization pass 199 199 200 + ## Phase 16: Forms & User Input 201 + 202 + **Goal:** Support HTML forms so users can interact with web pages. 203 + 204 + - HTML form element parsing: `<form>`, `<input>`, `<textarea>`, `<select>`/`<option>`/`<optgroup>`, `<button>`, `<label>`, `<fieldset>`/`<legend>` 205 + - DOM interfaces: `HTMLFormElement`, `HTMLInputElement`, `HTMLTextAreaElement`, `HTMLSelectElement`, `HTMLButtonElement`, `HTMLLabelElement` 206 + - Input types: text, password, checkbox, radio, submit, reset, hidden, number, email, url, search, tel 207 + - Form control layout: replaced/atomic inline-level elements, intrinsic sizing 208 + - Form control rendering: paint native-style text inputs, buttons, checkboxes, radio buttons, select dropdowns 209 + - Text editing: cursor positioning, text selection, keyboard input, clipboard (cut/copy/paste) 210 + - Focus management: tab order (`tabindex`), focus/blur events, `:focus`/`:focus-visible` pseudo-classes, active element tracking 211 + - Checkbox and radio button interaction: toggle state, radio group mutual exclusion 212 + - Select dropdown widget: popup menu rendering, keyboard navigation, option selection 213 + - HTML5 constraint validation: `required`, `pattern`, `min`/`max`/`step`, `minlength`/`maxlength`, `validity` API, `:valid`/`:invalid` pseudo-classes 214 + - Form submission: GET/POST, `application/x-www-form-urlencoded`, `multipart/form-data` encoding, submit event 215 + 216 + **Test milestone:** Interactive form on a real web page (e.g., search box submission). 217 + 200 218 --- 201 219 202 220 ## Test Suites