Conceptual Model – Text Editor

Note: The most recently updated version can be found in the A11y First github repository.

Conceptual Model: Objects, Actions, & Relationships

This document includes a table that enumerates the main objects with which users will interact when creating a document, and associates each object with available actions and its relationships and constraints relative to other objects.

Objects, Actions, & Relationships Tables

Primary Block Objects

OBJECT TYPE EXPOSED OBJECTS ACTIONS ATTRIBUTES RELATIONSHIPS/CONSTRAINTS
heading
  • text/inline content as standalone, heading-formatted block
  • add/delete (block)
  • change heading level
  • convert to another object type
  • text/inline content actions
  • heading level: 2 – 6
  • important relationship with previous heading
  • level constrained by previous heading level (same or next lower)
  • enter key creates: paragraph (user-configurable to same-level heading?)
  • conversion targets: paragraph, list item
paragraph
  • text/inline content as standalone block
  • add/delete (block)
  • convert to another object type
  • text/inline content actions
  • enter key creates: new paragraph
  • conversion targets: heading, list item
list
  • list items
  • text/inline content within list items
  • specify/change list type
  • add/delete (block)
  • convert to another object type
  • text/inline content actions
  • choose list styling (e.g. indentation)
list type:

  • bullets
  • numbering
  • enter key creates: new list item
  • conversion targets: heading, paragraph
table
  • column headers
  • columns
  • row headers
  • rows
  • data cells
  • text/inline content within data cells
  • other object types within data cells (e.g. paragraph, list)
  • create table: specify dimensions, headers, header labels
  • add/delete column
  • add/delete row
  • modify header labels
  • data cells: text/inline content actions
  • number of columns
  • number of rows
  • has column headers
  • has row headers
  • last row, last column: (some key) creates: new row
  • conversion targets for table: none
  • conversion targets for data cell contents: paragraph, list item, others (?)
image

Secondary Block Objects

OBJECT TYPE EXPOSED OBJECTS ACTIONS ATTRIBUTES RELATIONSHIPS/CONSTRAINTS
block quote
pre-formatted block
address

Text/Inline Objects

OBJECT TYPE EXPOSED OBJECTS ACTIONS ATTRIBUTES RELATIONSHIPS/CONSTRAINTS
text/inline text characters:

  • alpha-numeric
  • symbols
  • punctuation
  • white-space

inline objects:

  • image
  • link
  • add/modify/delete
  • change styling
  • convert to another object type
text styles:

  • strong
  • em
  • underline
  • strikethrough
  • always contained within block object (e.g. heading, paragraph, list item, table data cell)
  • conversion targets: link, others (?)
link
  • text/inline content as link-formatted span
  • specify/change href
  • convert to another object type
  • text/inline content actions
  • href
  • others (?)
  • special case of text/inline
  • applied to contiguous text/inline objects
  • conversion targets: non-link text/inline
Image