Associate the web UI's form labels with their inputs
Maintainers usually reply within 1 day
@Oyead is already working on this.
Since Nov 6, 2026.
Assessment
- Difficulty
- 1/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 89/100
- Issue type
- Feature
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- html
- Domain
- accessibility
Research direction
Open easyedit/web/index.html at the listed lines and inspect the Options panel fields, #movie, and #picture. Add label associations and run the stated grep checks; done when all ten fields have accessible names and no bare labels remain. The issue also specifies checking the computed names in the DevTools Accessibility pane.
Written by the indexing model from the issue text.
Description
All eight fields in the Options panel use a bare <label> that neither wraps its input nor carries a for attribute, so screen readers announce the text inputs and selects as unlabeled:
<div><label>Speech scene (file, URL or search)</label><input id="speech" placeholder="auto"></div>
The main movie box and the picture-upload input have no label at all — only a placeholder and an accept list.
Task: add for/id pairs for the eight option fields, and a real (optionally visually-hidden) label for #movie and #picture.
Where: easyedit/web/index.html lines 132, 137-144, and 152.
Done when: the DevTools Accessibility pane shows a computed name for every field in the Options panel and for #movie and #picture (none are "unlabeled"), grep -c '<label for=' easyedit/web/index.html prints 10, and grep -n '<label>' easyedit/web/index.html prints nothing.
Getting started: Python 3.10+, Node 22+, FFmpeg on PATH. npm install, pip install -r requirements.txt, then python -m easyedit.doctor. Run python -m unittest discover before opening a PR. Passing --llm none skips the model entirely, which is the fastest way to test. Comment here to claim it. Questions → Discord.
- Dominant language
- Python
- Stars
- 168
- Forks
- 24
- Avg merge
- 2d 10h
- Merged PRs (30d)
- 14
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing 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.
More from blixvip/easyedit
-
help wanted
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
Maintainers usually reply within 1 day
-
good first issue help wanted
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
Maintainers usually reply within 1 day
-
good first issue help wanted
Difficulty 2/5 1-3 hours Newbie friendliness 92/100
Maintainers usually reply within 1 day
-
enhancement good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
Maintainers usually reply within 1 day
-
bug good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 83/100
Maintainers usually reply within 1 day
All issues in blixvip/easyedit
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
huggingface/accelerate#4511 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
pylint-dev/pylint#11791 ·
Maintainers usually reply within 1 day
-
Rasterio granule reads never retry, so one 503 (Service Unavailable) fails the whole requestPossibly taken @chuckwondo claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
developmentseed/titiler-cmr#305 ·
Maintainers usually reply within 1 day
-
community enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day