Online rich-text editor

From Wikipedia, the free encyclopedia
Jump to: navigation, search
For applications used to create websites, see HTML editor.
Content being edited in the Amaya online rich-text editor

An online rich-text editor is the interface for editing rich text within web browsers, which presents the user with a "what-you-see-is-what-you-get" (WYSIWYG) editing area. The aim is to reduce the effort for users trying to express their formatting directly as valid HTML markup.

Though very early browsers could display rich text, user data entry was limited to text boxes with a single font and style (implemented with the <textarea> HTML element). Internet Explorer was the first to add a special "designMode" which allowed formatted parts of a document to be edited by the user using a cursor. Mozilla followed suit in version 1.3,[1] and most major browsers now implement this informal standard in some capacity.[2]

The technical capabilities needed to implement an online rich text editor are still not covered by the W3C specifications for HTML4. Nevertheless, popular services like Gmail and WordPress rely on rich text editing as their main user interface. For HTML5, some standardization is being made on a DOM property called "contentEditable"—which resembles Internet Explorer's extension.[3] Many of the Online office suites tend to provide online text editing and formatting functionality.

Design challenges[edit]

The most popular editors used for creating the rich text component of web pages have the following design objectives:

  • The editing view matches the final appearance of published content with respect to fonts, headings, layout, lists, tables, images and structure
  • The buttons, controls and key strokes deliver the same behaviour as the word processor or text editor that the user is most familiar with.
  • The HTML code that is generated is compliant with web standards (such as W3C) and the browser on which the content will be viewed.


The majority of online rich text editors use an iframe element for the content area. This way the content inside the editor is separate from the rest of the page, because it is in a different document. The benefit from this separation is that the editor can be used anywhere on the site (e.g. in an admin area) while still maintaining the content styles the users expect to see when the content is published (e.g. in a public area).

Some editors use div elements for their content area. This way the editor content inherits the same style as the rest of the page, because it is in the same document. This approach is mainly used when the users need to edit content "in-place", preserving the overall layout of the page. Examples of such "in-place" editors are the DotNetNuke CMS[4] and the SharePoint Web Content Management scenario.


Inline editors differ from normal editors as they can edit the content directly, without placing it inside another element, often with a `contenteditable` attribute. These editors include Aloha Editor, CKEditor, SnapEditor and TinyMCE.[5] Editors that use an iframe, to avoid styling conflicts, include CKEditor, Dijit Editor and TinyMCE.

Other notable editors include WYMeditor (an open Source XHTML editor focusing on semantic markup), YUI Rich Text Editor (a Yahoo! rich text editor component) and VisualEditor (a MediaWiki extension).


External links[edit]