openui / openui/open-ui

Idea: Specify a Rich Text Textarea

Open
#661 7 comments 6 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

needs-research needs-triage
Dominant language
MDX
Stars
4.5k
Forks
226
Avg merge
2d 22h
Merged PRs (30d)
4

Description

Many projects have rich text input fields, including the one that I am typing into right now.

Often, these textareas have inconsistent usage pattern or are completely inaccessible.

A native HTML rich textarea could provide a consistent and consistently accessible way to enter rich text.

Brainstormy list of features:

  1. Text field with controls that allow formatting.
  2. The website can specify which controls are available
  3. The text is formatted as a JSON string for the website to interpret (See https://github.com/portabletext/portabletext)
  4. Additionally, there is a toHTML function that creates a JavaScript HTML representation. And of course, fromHTML would take HTML to be edited.
  5. Maybe in a second step, the text field needs an extension API to allow injection of (HTML) templates from the website for customization.

Maybe this is of interest to the group, if not, feel free to close the issue.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

This issue is a brainstorm for a native HTML rich text textarea, with formatting controls, configurable controls, JSON serialization, toHTML/fromHTML conversion, and possibly an extension API. Start by reviewing the proposal and its Portable Text reference; there are no repository files or tests named. Done would require an agreed scope and specification before implementation can begin.

Written by the indexing model from the issue text.

Assessment

Tech stack
html, javascript
Domain
accessibility, frontend, web-dev
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.