Online rich-text editor

Last updated
Content being edited in the Amaya online rich-text editor Amaya inuse.png
Content being edited in the Amaya online rich-text editor

HTML

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.

Contents

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 were not covered by the W3C specifications for HTML4. Nevertheless, popular services like Gmail and WordPress have relied on rich text editing as their main user interface. With HTML5, some standardization was made on a DOM property called "contentEditable"which resembles Internet Explorer's original extension. [3] Many of the online office suites tend to provide online text editing and formatting functionality.

Approach

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.

Implementations

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

See also

Related Research Articles

<span class="mw-page-title-main">Document Object Model</span> Convention for representing and interacting with objects in HTML, XHTML, and XML documents

The Document Object Model (DOM) is a cross-platform and language-independent interface that treats an HTML or XML document as a tree structure wherein each node is an object representing a part of the document. The DOM represents a document with a logical tree. Each branch of the tree ends in a node, and each node contains objects. DOM methods allow programmatic access to the tree; with them one can change the structure, style or content of a document. Nodes can have event handlers attached to them. Once an event is triggered, the event handlers get executed.

<span class="mw-page-title-main">HTML</span> HyperText Markup Language

Hypertext Markup Language (HTML) is the standard markup language for documents designed to be displayed in a web browser. It defines the content and structure of web content. It is often assisted by technologies such as Cascading Style Sheets (CSS) and scripting languages such as JavaScript.

Scalable Vector Graphics (SVG) is an XML-based vector image format for defining two-dimensional graphics, having support for interactivity and animation. The SVG specification is an open standard developed by the World Wide Web Consortium since 1999.

Mathematical Markup Language (MathML) is a mathematical markup language, an application of XML for describing mathematical notations and capturing both its structure and content, and is one of a number of mathematical markup languages. Its aim is to natively integrate mathematical formulae into World Wide Web pages and other documents. It is part of HTML5 and standardised by ISO/IEC since 2015.

XUL, which stands for XML User Interface Language, is a user interface markup language developed by Mozilla. XUL is an XML dialect for writing graphical user interfaces, enabling developers to write user interface elements in a manner similar to web pages.

An HTML element is a type of HTML document component, one of several types of HTML nodes. The first used version of HTML was written by Tim Berners-Lee in 1993 and there have since been many versions of HTML. The current de facto standard is governed by the industry group WHATWG and is known as the HTML Living Standard.

In the context of a web browser, a frame is a part of a web page or browser window which displays content independent of its container, with the ability to load content independently. The HTML or media elements in a frame may come from a web site distinct from the site providing the enclosing content. This practice, known as framing, is today often regarded as a violation of same-origin policy.

A user interface markup language is a markup language that renders and describes graphical user interfaces and controls. Many of these markup languages are dialects of XML and are dependent upon a pre-existing scripting language engine, usually a JavaScript engine, for rendering of controls and extra scriptability.

In computer hypertext, a URI fragment is a string of characters that refers to a resource that is subordinate to another, primary resource. The primary resource is identified by a Uniform Resource Identifier (URI), and the fragment identifier points to the subordinate resource.

The canvas element is part of HTML5 and allows for dynamic, scriptable rendering of 2D shapes and bitmap images. It is a low level, procedural model that updates a bitmap. HTML5 Canvas also helps in making 2D games.

<span class="mw-page-title-main">HTML5</span> Fifth and previous version of HyperText Markup Language

HTML5 is a markup language used for structuring and presenting hypertext documents on the World Wide Web. It was the fifth and final major HTML version that is now a retired World Wide Web Consortium (W3C) recommendation. The current specification is known as the HTML Living Standard. It is maintained by the Web Hypertext Application Technology Working Group (WHATWG), a consortium of the major browser vendors.

Web Accessibility Initiative – Accessible Rich Internet Applications (WAI-ARIA) is a technical specification published by the World Wide Web Consortium (W3C) that specifies how to increase the accessibility of web pages, in particular, dynamic content, and user interface components developed with Ajax, HTML, JavaScript, and related technologies.

Extensible HyperText Markup Language (XHTML) is part of the family of XML markup languages which mirrors or extends versions of the widely used HyperText Markup Language (HTML), the language in which Web pages are formulated.

<span class="mw-page-title-main">CSS</span> Style sheet language

Cascading Style Sheets (CSS) is a style sheet language used for specifying the presentation and styling of a document written in a markup language such as HTML or XML. CSS is a cornerstone technology of the World Wide Web, alongside HTML and JavaScript.

XFrames was an XML format draft for embedding HTML pages into one page which handles the layout without the problems of HTML Frames. This technique has been especially popular for navigation bars. While HTML Frames are still supported for legacy websites, today websites combine the page on the server instead.

Microdata is a WHATWG HTML specification used to nest metadata within existing content on web pages. Search engines, web crawlers, and browsers can extract and process Microdata from a web page and use it to provide a richer browsing experience for users. Search engines benefit greatly from direct access to Microdata because it allows them to understand the information on web pages and provide more relevant results to users. Microdata uses a supporting vocabulary to describe an item and name-value pairs to assign values to its properties. Microdata is an attempt to provide a simpler way of annotating HTML elements with machine-readable tags than the similar approaches of using RDFa and microformats.

The Web platform is a collection of technologies developed as open standards by the World Wide Web Consortium and other standardization bodies such as the Web Hypertext Application Technology Working Group, the Unicode Consortium, the Internet Engineering Task Force, and Ecma International. It is the umbrella term introduced by the World Wide Web Consortium, and in 2011 it was defined as "a platform for innovation, consolidation and cost efficiencies" by W3C CEO Jeff Jaffe. Being built on The evergreen Web has allowed for the addition of new capabilities while addressing security and privacy risks. Additionally, developers are enabled to build interoperable content on a cohesive platform.

HTML audio is a subject of the HTML specification, incorporating audio input, playback, and synthesis, as well as speech to text, all in the browser.

A document type declaration, or DOCTYPE, is an instruction that associates a particular XML or SGML document with a document type definition (DTD). In the serialized form of the document, it manifests as a short string of markup that conforms to a particular syntax.

ContentTools is an open-source WYSIWYG editor for HTML content written in JavaScript/CoffeeScript by Anthony Blackshaw of Getme Limited.

References

  1. "Rich-Text Editing in Mozilla". developer.mozilla.org.
  2. "RE: HTML Action Item 54 - ...draft text for HTML 5 spec to require producers/authors to include @alt on img elements. from Frederico Caldeira Knabben on 2008-05-14 (public-html@w3.org from May 2008)". Lists.w3.org. Retrieved 2010-09-23.
  3. "7 User interaction — HTML5". W3C. Retrieved 2010-09-23.
  4. "TinyMCE | Editor Appearance". www.tinymce.com. Retrieved 2016-07-05.