Features/Desktop/EditorAPI

From MozillaWiki
Jump to navigation Jump to search
Please use "Edit with form" above to edit this page.

Status

Editor API
Stage Draft
Status `
Release target `
Health OK
Status note Understanding problems.

{{#set:Feature name=Editor API

|Feature stage=Draft |Feature status=` |Feature version=` |Feature health=OK |Feature status note=Understanding problems. }}

Team

Product manager Kevin Dangoor
Directly Responsible Individual Kevin Dangoor
Lead engineer `
Security lead `
Privacy lead `
Localization lead `
Accessibility lead `
QA lead `
UX lead `
Product marketing lead `
Operations lead `
Additional members `

{{#set:Feature product manager=Kevin Dangoor

|Feature feature manager=Kevin Dangoor |Feature lead engineer=` |Feature security lead=` |Feature privacy lead=` |Feature localization lead=` |Feature accessibility lead=` |Feature qa lead=` |Feature ux lead=` |Feature product marketing lead=` |Feature operations lead=` |Feature additional members=` }}

Open issues/risks

`

Stage 1: Definition

1. Feature overview

People are editing more and more text in browsers today. The different applications in which people are editing their text have different needs. The needs of a programmer's editor are different from those of an editor for writers, for example.

Ideally, all of these new web-based editors would handle accessibility and bidi text. In practice, the only ones that do are the ones that use contentEditable, which has limited extensibility and limited standardization across browsers.

The goal of this feature is to provide an API to developers to allow them to build customized editor behavior while maintaining accessibility and proper navigation and entry of bidi text.

2. Users & use cases

Code Editors

  • high-performance with long files (30K lines)
  • ability to do syntax highlighting
  • ideally also provides high-performance on files with single long lines
  • ability to do "code assist" (popups that provide completions for what the user is entering or possibly to prompt the user to take action in the case of errors)
  • remappable keys
  • transaction history
  • integration with session restore

Rich Text Editors

3. Dependencies

`

4. Requirements

`

Non-goals

`

Stage 2: Design

5. Functional specification

`

6. User experience design

`

Stage 3: Planning

7. Implementation plan

`

8. Reviews

Security review

`

Privacy review

`

Localization review

`

Accessibility

`

Quality Assurance review

`

Operations review

`

Stage 4: Development

9. Implementation

`

Stage 5: Release

10. Landing criteria

` {{#set:Feature open issues and risks=` |Feature overview=People are editing more and more text in browsers today. The different applications in which people are editing their text have different needs. The needs of a programmer's editor are different from those of an editor for writers, for example.

Ideally, all of these new web-based editors would handle accessibility and bidi text. In practice, the only ones that do are the ones that use contentEditable, which has limited extensibility and limited standardization across browsers.

The goal of this feature is to provide an API to developers to allow them to build customized editor behavior while maintaining accessibility and proper navigation and entry of bidi text. |Feature users and use cases==== Code Editors ===

  • high-performance with long files (30K lines)
  • ability to do syntax highlighting
  • ideally also provides high-performance on files with single long lines
  • ability to do "code assist" (popups that provide completions for what the user is entering or possibly to prompt the user to take action in the case of errors)
  • remappable keys
  • transaction history
  • integration with session restore

Rich Text Editors

|Feature dependencies=` |Feature requirements=` |Feature non-goals=` |Feature functional spec=` |Feature ux design=` |Feature implementation plan=` |Feature security review=` |Feature privacy review=` |Feature localization review=` |Feature accessibility review=` |Feature qa review=` |Feature operations review=` |Feature implementation notes=` |Feature landing criteria=` }}

Feature details

Priority Unprioritized
Rank 999
Theme / Goal `
Roadmap Platform
Secondary roadmap `
Feature list Platform
Project `
Engineering team `

{{#set:Feature priority=Unprioritized

|Feature rank=999 |Feature theme=` |Feature roadmap=Platform |Feature secondary roadmap=` |Feature list=Platform |Feature project=` |Feature engineering team=` }}

Team status notes

  status notes
Products ` `
Engineering ` `
Security ` `
Privacy ` `
Localization ` `
Accessibility ` `
Quality assurance ` `
User experience ` `
Product marketing ` `
Operations ` `

{{#set:Feature products status=`

|Feature products notes=` |Feature engineering status=` |Feature engineering notes=` |Feature security status=` |Feature security health=` |Feature security notes=` |Feature privacy status=` |Feature privacy notes=` |Feature localization status=` |Feature localization notes=` |Feature accessibility status=` |Feature accessibility notes=` |Feature qa status=` |Feature qa notes=` |Feature ux status=` |Feature ux notes=` |Feature product marketing status=` |Feature product marketing notes=` |Feature operations status=` |Feature operations notes=` }}