solex2006 / SELIProject

SELI Project
9 stars 17 forks source link

Text editor #138

Open ecureuill opened 4 years ago

ecureuill commented 4 years ago

:warning: Wire-frames and live-demos are just for example purpose. They don't meet entirely this requirement.

:pencil2: Pencil icon marks specs that are waiting for definition


As the text editor is used by students and teachers, it's important to create an accessible widget.

Also, as the content created in this widget is going to be accessed by students, it's important to deliver an accessible content

Suggested framework: http://draftjs.org


Table Of Content

  1. General
  2. Widget
    1. Toolbar component
    2. Toggle buttons
    3. Text area
    4. Dialogs
      1. Form
  3. Text Editor features
    1. Block Types
      1. Paragraph
      2. Headers
      3. Preformatted
      4. Ordered List
      5. Unordered List
      6. Description List
        1. Description List Dialog
    2. Nest-Block Types
      1. Blockquote
        1. Blockquote Dialog
      2. Captions
        1. Captions Dialog
    3. Inline-Semantic Types
      1. Strong
      2. Emphasis
      3. Mark
      4. Abbreviation
        1. Abbreviation Dialog
      5. Definition
        1. Definition Dialog
      6. Quote
        1. Quote Dialog
      7. Cite
      8. Code
      9. Var
      10. Output
      11. Subscript and Superscript
      12. Lang
        1. Lang Dialog
      13. Link
        1. Lang Dialog
    4. Visual styles
    5. Paste
    6. Glossary
    7. Accessibility Validations
    8. General Validations
    9. Instructional Validation
    10. Feedback
      1. Instruction
      2. Error Identification
      3. Error suggestion
  4. Usage
  5. Wireframes
    1. Toolbar
    2. Text area
  6. References

    General

    • [x] Separating information and structure from presentation to enable different presentations (meet #76)
    • [ ] meet #135
    • [ ] meet #97

      Widget

      Text editor widget is composed by

    • one or more toolbars
    • one or more buttons
    • text area

Toolbar component

    • [x] Design Pattern: each toolbar must follows WAI-ARIA Practices for toolbar (meet #136)
        • [x] role=toolbar
      1. keyboard navigation (meet #101 )
        • [ ] tab and Shift + tab
        • [ ] left and right arrow (navigate through buttons)
        • [ ] down arrow and up arrow, in multiple rows toolbar (navigate through toolbar rows)
    • [x] aria-label provide a label that identifies the purpose ( meet #136 #16 )

Toggle buttons

    • [ ] Design Pattern: must follow WAI-ARIA Practices for toggle-button (meet #136)
        • [ ] role=button
        • [ ] state - aria-pressed=true|false: when the the text editor cursor is positioned in a word, the aria-pressed state should be determined for each button, For instance, in a paragraph with the text "Hello, world!" if cursor is positioned between w and o the buttons [Paragraph] and [B] should be set to aria-pressed=true and remaining buttons as aria-pressed=false 1.Label and Accessible Name
        • [x] provide a label that identifies the purpose of the buttons (meet #16 #76 #136)
        • [x] #119 Accessible name should be the function the button serves
  1. on focus or hoover
      • [ ] provide a visible indicator (meet #116 minimum)
          • [x] meet #90 (multiple visual cues) Suggestion: change back-ground-color and border-line
          • [ ] meet enhanced scenario of #116 by setting focus indicator minimum area, contrast and thickness
      • [ ] [recommended] provide a popup content (tooltip) and applies #100
    • [x] visible indicator of aria-pressed state: when the the text editor cursor is positioned in a word, buttons should present with a visual indication of its state related to the word.
        • [x] meet #90 (multiple visual cues) Suggestion: change font-color, font-weight and border-line
        • [x] contrast ratio ≥ 3:1 (meets #98)
    • [x] [suggested] Group buttons by related functions button group example
  2. role="image" in font icon (meet #76 ) <span class="icon icon-star-bg" role="img" aria-label="Favorite"></span>

Text area

1.Label and Accessible Name

    • [ ] provide a descriptive label with inline Label (meet #16 #76 #115 #132 #136 )
      1. Visible If text editor is used for a text area input field (e.g., in Activity component), then provide a visible label. <label for= or aria-labelledby
      2. Visible or hidden in other context e.g., forum) aria-label or aria-labelledby
    • [ ] #119 accessible name starts with the text of the label (for HTML components, accessible name is automatic computed, for custom components need to check case by case. Read #119)
      1. Keyboard
        • [x] tab and Shift + tab to navigate in and out of text area
        • [x] left, right, down arrow and up arrows (moves cursor)
      2. [recommended] shortcut to navigate to toolbar from text area (move focus to toolbar)
          • [ ] [BEST] Shortcut with letter and printable keyboard keys (e.g., Ctrl+H)
          • [ ] Shortcut only with letters, must applies #102
      3. [recommended] shortcut to activate buttons functions, for instance Ctrl+B, Ctrl+I,Ctrl+t+1 (title), Ctrl+t+2 (subtitle)
        • [x] [BEST] Shortcut with letter and printable keyboard keys (e.g., Ctrl+H)
        • [ ] Shortcut only with letters, must applies #102
        • [x] default font color with at least minimum contrast (#92)
        • [ ] Text can be resized to 200% ( meets #93)
        • [x] [Better] Responsive Design ( meets #97)
      4. Text Spacing (meet #99)
        • [x] Line height (line spacing) to at least 1.5 times the font size;
        • [x] Spacing following paragraphs to at least 2 times the font size;
        • [x] Letter spacing (tracking) to at least 0.12 times the font size;
        • [x] Word spacing to at least 0.16 times the font size.

Dialogs

    • [ ] Layout design consistency #51
    • [x] Full-widget, on small screen
    • [ ] Design Pattern: each toolbar must follows WAI-ARIA Practices for modal (meet #136)
        • [x] role="dialog"
        • [ ] keyboard navigation (meet #101 )
        • [ ] aria-modal=true
        • [ ] aria-describedby=
        • [x] First focus
        • [x] Focus after dialog is closed

Form

  1. role="image" in font icon (meet #76 ) <span class="icon icon-star-bg" role="img" aria-label="Favorite"></span> 1.Label and Accessible Name
      • [ ] provide a descriptive label (meet #16 #76 #115 #132 #136)
        • visible <label for= or aria-labelledby; AND/OR
        • invisible aria-label
      • [ ] #119 accessible name starts with the text of the label (for HTML components, accessible name is automatic computed, for custom components need to check case by case. Read #119)
  2. on focus or hoover
      • [ ] provide a visible indicator (meet #116 minimum)
          • [ ] meet #90 (multiple visual cues) Suggestion: change back-ground-color and border-line
          • [ ] meet enhanced scenario of #116 by setting focus indicator minimum area, contrast and thickness
      • [ ] [recommended] provide a popup content (tooltip) and applies #100

For customs components

    • [ ] Design Pattern: follows WAI-ARIA Practices (meet #136)
        • [ ] role=
        • [ ] keyboard navigation (meet #101 )
        • [ ] aria-[state]

Text Editor features

For each block of text, user can apply one block type. Nesting block types can nest one or more block types. For each character, word or phrase, user can apply one or more text-level types.

The accessibility of the content depends on the correct use of this features. User has the responsibility to use the correct markup and system has the responsibility to instruction and help user.

Block types

Those types identifies the purpose or structure of the content.

General rules Block types. Some block type has specific rules, if none is cited in it respective section, just follow this general rule.

Example for DEACTIVATE and SWITCH scenarios image

<h2>Use Case - components</h2>
<ul>
   <li>Notification device (...)</li>
   <li>Video/Audio device</li>
   <li>Confirmation device(...)</li>
</ul>

When user toggle a HEADER block type button

Paragraph

Represents a paragraph.

<p>...</p>

Headers

Represents introductory content, a heading section.

<h2>...</h2>
<h3>...</h3>
<h4>...</h4>
<h5>...</h5>
<h6>...</h6>

Note: the top-level header must be defined taking in account the page where it's going to be rendered. For instance, in Authoring Tool, it's probably a h3 because h1 is reserved to be used with the "topic name" and h2 for the "table of content"

Preformatted (:question: better name?)

Represents a block of preformatted tex content, in which structure is represented by typographic conventions rather than by elements.

<pre>[CONTENT]</pre>

For instance, some contemporary poem with meaningful/unusual whitespace.

maxling it is with a heart heavy that i admit loss of a feline so loved a friend lost to the unknown (night) ~cdr 11dec07

<p>maxling</p>
<p>it is with a heart</p>
<p>heavy</p>
<p>that i admit loss of a feline</p>
<p>so loved</p>
<p>a friend lost to the</p>
<p>unknown</p>
<p>(night)</p>
<p>~cdr 11dec07</p>

Ordered List

Represents an ordered list of items, rendered as a numbered list.

<ol>
  <li>...</li>
  <li>...</li>
</ol>

Unordered List

Represents an unordered list of items, rendered as a bulleted list. In ordered list, the order of elements is mealiness

<ul>
  <li>...</li>
  <li>...</li>
</ul>

Description List

Represents a description list. The element encloses a list of groups of terms (specified using the <dt>element) and descriptions (provided by <dd> elements). Meets #122

<dl>
    <-- First term -->
    <dt lang=[LANG]><dfn>[TERM A]</dfn></dt>
    <dd>[DEFINITION 1]</dd>
    <-- Second Term  --> 
    <dt><dfn>[TERM B]</dfn></dt>
    <dt><dfn>[TERM B1 (RELATED)]</dfn></dt>
    <dt><dfn>[TERM B2 (RELATED)</dfn></dt>
    <dd>[DEFINITION 1]</dd>
    <-- Third Term  -->
    <dt><dfn>[TERM C]</dfn></dt>
    <dd>[DEFINITION 1]</dd>
    <dd>[DEFINITION 2]</dd>
    <dd>[DEFINITION 3]</dd>
 </dl>

Example of key-value

<p>[TERM A]: [DEFINITION 1]</p>
<p>[TERM A], [TERM B RELATED], [TERM C RELATED]: [DEFINITION 1]</p>
<p>[TERM A]: [DEFINITION 1]; [DEFINITION 2]; [DEFINITION 3]</p>

Description List dialog

Nest-Block types

Nest-block types can nest one or more block types.

Blockquote

Indicates that the enclosed text is an extended quotation.

<blockquote cite=[URL]>
    <-- any block type goes here -->
    <footer>[AUTHOR], <cite>[TITLE OF DOCUMENT]</cite></footer>
</blockquote>

When editing in Text Area

Example of move the AUTHOR and TITLE OF DOCUMENT


<blockquote cite=[URL]>
    <p>[CONTENT] [AUTHOR],[TITLE OF DOCUMENT]</p>
    <footer>[AUTHOR], <cite>[TITLE OF DOCUMENT]</cite></footer>
</blockquote>

Example of new lines

<blockquote cite=[URL]>
    <p>[CONTENT]</p>
    <p> <-- New line created on ENTER pressed --></p>
    <footer>[AUTHOR], <cite>[TITLE OF DOCUMENT]</cite></footer>
</blockquote>

Example of new Paragraph block (cursor between AUTHOR and comma)


<blockquote cite=[URL]>
    <p>[CONTENT] [AUTHOR],[TITLE OF DOCUMENT]</p>
    <footer>[AUTHOR]</footer>, <cite>[TITLE OF DOCUMENT]</cite></footer>
</blockquote>
<p>
, [TITLE OF DOCUMENT]
</p>

Example of new Paragraph block (cursor at end of AUTHOR's line)

<blockquote cite=[URL]>
    <p>[CONTENT]</p>
    <p> <-- New line created on ENTER pressed --></p>
    <footer>[AUTHOR], <cite>[TITLE OF DOCUMENT]</cite></footer>
</blockquote>
<p><-- new empty PARAGRAPH Block --></p>

Blockquote dialog

Caption

Represents self-contained content with an caption. The self-contained could be diagram, code snippet, poems, etc. The caption could be inserted above or bellow the content.

<figure>
  <figcaption>[CAPTION]</figcaption>
  <-- any block type goes after or before caption -->
</figure>

Example of a Caption added to a Blokquote content

<-- BEFORE -->
  <blockquote>[BLOCKQUOTE_CONTENT]</blocquote> 
<-- AFTER -->
<figure>
  <blockquote>[BLOCKQUOTE_CONTENT]</blocquote> 
  <figcaption>[CAPTION]</figcaption>
</figure>

Example of a Caption deactivated

<figure>
   <blockquote>
       <p>[CONTENT]</p>
   </blockquote>
   <figcaption>[CAPTION]</figcaption>
</figure>

Example of move the CAPTION

<figure>
   <ul>
       <li>[CONTENT]</li>
       <li>[CAPTION]</li>
   </ul>
   <figcaption>[CAPTION]</figcaption>
</figure>

Caption dialog

Inline-Semantics types

Define the meaning, structure, or style of a word, line, or any arbitrary piece of text. This types can be applied to any Block type content. meets #76 #136

Strong

Indicates that its contents have strong importance, seriousness, or urgency. Browsers typically render the contents in bold type.

<strong>[CONTENT]</strong>

Emphasis

Set content that have a Stressed emphasis

<em>[CONTENT]</em>

Mark

Set content marked or highlighted for reference or notation purposes

<mark>[CONTENT]</mark>

Abbreviation

Set content as an abbreviation or acronym meets #123

<abbr title=[EXPANSION]>[CONTENT]</abbr>

Edition on Text Area

Abbreviation dialog

Definition

Used to indicate the term being defined within the context of a definition phrase or sentence. meets #122

<-- DEFAULT USAGE -->
<dfn id=[UNIQUE_ID] title=[CONTENT_DEFINITION]>[CONTENT]</dfn>
<-- COMBINED WITH ABBREVIATION -->
<dfn id=[UNIQUE_ID] ><abbr title=[EXPANSION]>[ABBREVIATED_CONTENT]</abbr></dfn>

When user toggle the Definition button and cursor is in an active Abbreviation

When user toggle the Definition button and cursor is not in an active Abbreviation

Abbreviation deactivated

Quote

A short inline quotation. This element is intended for short quotations that don't require paragraph breaks; for long quotations should use the Blockquote.

Content inside a q element must be quoted from another source, whose address, if it has one, may be cited in the cite attribute. The source may be fictional, as when quoting characters in a novel or screenplay.

<q cite=[URI]>[CONTENT]</q>

Cite

Describe a reference to a cited creative work, and must include the title of that work. This can be a work that is being quoted or referenced in detail (i.e. a citation), or it can just be a work that is mentioned in passing.

<cite>[CONTENT]</cite>

Note: Cite is note a quote; Cite is not for name of authors

Code

Indicate that the text is a short fragment of computer code.

<-- one line -->
<code>[CONTENT]</code>
<-- multiple lines -->
<code>
  <pre>[CONTENT]</pre>
</code>

Var

Represents the name of a variable in a mathematical expression or a programming context

<var>[CONTENT]</var>

Example <var>E</var> = <var>m</var> <var>c</var><sup>2</sup> E = m c2

Output

Represents sample or quoted output from another program or computing system.

<samp>[CONTENT]</samp>

Example

<pre>
<code class="language-javascript">console.log(2.3 + 2.4)</code>
<samp>4.699999999999999</samp>
</pre>
console.log(2.3 + 2.4)
4.699999999999999

Subscript and Superscript

These elements must be used only to mark up typographical conventions with specific meanings, not for typographical presentation for presentation's sake. In certain languages, superscripts are part of the typographical conventions for some abbreviations. The Superscript can be used inside a Var, for variables that have subscripts. Mathematical expressions often use subscripts and superscripts.

<sub>[CONTENT]</sub>
<sup>[CONTENT]</sup>

Lang

Indicating word or an idiomatic phrase from another language. meets #121

<i lang=[LANG]>[CONTENT]</i>

Lang dialog

Link dialog

If ORIGIN_LINK==definition

If ORIGIN_LINK==URL

Example of link to definition

<p>The <strong>HTML Definition element</strong>
(<strong><dfn id="definition-dfn">&lt;dfn&gt;</dfn></strong>) is
used to indicate the term being defined within the context of a
definition phrase or sentence.</p>
(...)
<p>Because of all of that, we decided to use the
<code><a href="#definition-dfn">&lt;dfn&gt;</a></code> element for
this project.</p>

Visual styles

Color, fonts, text-alignment and many others settings are decoration style, with no meaning. If user wants to give meaning for a text, he/she can achieve this by a combination of the above block and text-level types.

But, if is intend to provide such feature, it's important to assegure the accessibility

Paste

On copy and paste rich-text contents from outside sources (e.g web pages and word processors), the original format is retained and inaccessible formats could be used. For instance, a link with no text description or a text with low contrast color.

Glossary

Present a glossary with the terms that was defined with the Definition inline-semantic type. Use <dl title="Glossary">

Accessibility Validations

General Validations

Feedback

Labels

widget component visible label aria-label
Text Editor Text Area * *
Text Editor Headers[1..6] [icon]1..6 Title [One..Six]
Text Editor Paragraph [icon] Paragraph
Text Editor Preformatted [icon] Preformatted
Text Editor Ordered List [icon] Ordered List
Text Editor Unordered List [icon] Unordered List
Text Editor Description List [icon] Description List
Text Editor Blockquote [icon] Block quote
Text Editor Captions [icon] Captions
Text Editor Strong Strong Strong
Text Editor Emphasis Emphasis Emphasis
Text Editor Mark Mark Mark
Text Editor Abbreviation Abbr Abbreviation
Text Editor Definition Dfn Definition
Text Editor Quote [icon] Quote
Text Editor Cite [icon] Cite
Text Editor Code [icon] Code
Text Editor Var [icon] Variable
Text Editor Output [icon] Output
Text Editor Subscript [icon] Subscript
Text Editor Superscript [icon] Superscript
Text Editor Lang [icon] Language
Text Editor Link [icon] Link
Desc List Dialog TERM Term Term
Desc List Dialog DESCRIPTION_LANG Description Description
Desc List Dialog TERM_LANG Language Language of the Term
Desc List Dialog DESCRIPTION_LANG Language of the Description Language of the Description
Desc List Dialog Add Related Term [icon] Add an alternative term
Desc List Dialog Delete Related Term [icon] Delete the alternative term
Desc List Dialog Add Related Description [icon] Add an alternative description
Desc List Dialog Delete Related Description [icon] Delete the alternative description
Desc List Dialog Add New Term [icon] Add new term
Desc List Dialog Set Description List Confirm Set the description list
Desc List Dialog Deactivate Description List Deactivate Deactivate the description list
Desc List Dialog Cancel Description List Cancel Cancel
BlockQ Dialog CONTENT Text [required] n/a
BlockQ Dialog URL Document link [optional] n/a
BlockQ Dialog AUTHOR Author name(s) [optional] n/a
BlockQ Dialog TITLE OF DOCUMENT Document title [optional] n/a
BlockQ Dialog Set Blockquote CONFIRM n/a
BlockQ Dialog Deactivate Blockquote DEACTIVATE n/a
BlockQ Dialog Cancel Blockquote CANCEL n/a
Caption Dialog CAPTION Caption [required] n/a
Caption Dialog POSITION Position n/a
Caption Dialog Set Caption CONFIRM n/a
Caption Dialog Deactivate Caption DEACTIVATE n/a
Caption Dialog Cancel Caption CANCEL n/a
Abbr Dialog EXPANSION Description [required] n/a
Abbr Dialog CONTENT Abbreviation [required] n/a
Abbr Dialog Set Abbreviation CONFIRM n/a
Abbr Dialog Deactivate Abbreviation DEACTIVATE n/a
Abbr Dialog Cancel Abbreviation CANCEL n/a
Dfn Dialog CONTENT_DEFINITION Term definition n/a
Dfn Dialog CONTENT Term n/a
Dfn Dialog Set Definition CONFIRM n/a
Dfn Dialog Deactivate Definition DEACTIVATE n/a
Dfn Dialog Cancel Definition CANCEL n/a
Quote Dialog CONTENT Text [required] n/a
Quote Dialog URL Document link [optional] n/a
Quote Dialog Set Quote CONFIRM n/a
Quote Dialog Deactivate Quote DEACTIVATE n/a
Quote Dialog Cancel Quote CANCEL n/a
Lang Dialog LANG Text language n/a
Lang Dialog CONTENT Text n/a
Lang Dialog Set Lang CONFIRM n/a
Lang Dialog Deactivate Lang DEACTIVATE n/a
Lang Dialog Cancel Lang CANCEL n/a
Link Dialog ORIGIN_LINK Link origin [required] n/a
Link Dialog DEFINITION Definitions n/a
Link Dialog CONTENT Link text [required] n/a
Link Dialog URI URL n/a
Link Dialog Set Link CONFIRM n/a
Link Dialog Deactivate Link DEACTIVATE n/a
Link Dialog Cancel Link CANCEL n/a
Link Dialog Set Link CONFIRM n/a
Link Dialog Deactivate Link DEACTIVATE n/a
Link Dialog Cancel Link CANCEL n/a

Instructions

widget component Inline Instruction Placeholder Tooltip
Text Editor Text Area * * n/a
Text Editor Headers[1..6] n/a n/a Set text as a title
Text Editor Paragraph n/a n/a Set text as a paragraph
Text Editor Preformatted n/a n/a Set text as preformatted
Text Editor Ordered List n/a n/a Set text as ordered list
Text Editor Unordered List n/a n/a Set text as a unordered list
Text Editor Description List n/a n/a Insert a list of terms and it's definition
Text Editor Blockquote n/a n/a Set a extended quotation
Text Editor Captions n/a n/a Set a caption to the selected item
Text Editor Strong n/a n/a Set text as of strong importance
Text Editor Emphasis n/a n/a Set text as of stressed emphasis
Text Editor Mark n/a n/a Set text as marked or highlighted for reference or notation
Text Editor Abbreviation n/a n/a Set text as an abbreviation or acronym
Text Editor Definition n/a n/a Set a definition to the text
Text Editor Quote n/a n/a Set a short line quotation
Text Editor Cite n/a n/a Set a reference
Text Editor Code n/a n/a Set a text as short fragment of code
Text Editor Var n/a n/a Set a text as variable
Text Editor Output n/a n/a Set text as a sample or program output
Text Editor Subscript n/a n/a Set a text in subscript notation
Text Editor Superscript n/a n/a Set a text in superscript notation
Text Editor Lang n/a n/a Set the language of the text
Text Editor Link n/a n/a Set text as a Link
Desc List Dialog TERM Provide the term to be defined Blanco tequila
Desc List Dialog DESCRIPTION Provide a description for the term The purest form of the blue agave spirit...
Desc List Dialog TERM_LANG n/a n/a Set text language of the Term
Desc List Dialog DESCRIPTION_LANG n/a n/a Set text language of the Description
Desc List Dialog Add Related Term n/a n/a Add an alternative Term
Desc List Dialog Delete Related Term n/a n/a Delete the alternative Term
Desc List Dialog Add Related Description n/a n/a Add an alternative Description
Desc List Dialog Delete Related Description n/a n/a Delete the alternative description
Desc List Dialog Add New Term n/a n/a Add new term
Desc List Dialog Set Description List n/a n/a Set the description list
Desc List Dialog Deactivate Description List n/a n/a Deactivate the description list
Desc List Dialog Cancel Description List n/a n/a Cancel
BlockQ Dialog CONTENT Insert the citation text here The citation text
BlockQ Dialog URL Insert a valid link here The link for the cited document
BlockQ Dialog AUTHOR Insert the author name(s) here The name of the author(s) of the cited document
BlockQ Dialog TITLE OF DOCUMENT Insert the document title here The title of the cited document
BlockQ Dialog Set Blockquote n/a n/a Confirms the citation configuration
BlockQ Dialog Deactivate Blockquote n/a n/a Deactivates the citation configuration
BlockQ Dialog Cancel Blockquote n/a n/a Discards the citation configuration alterations
Caption Dialog CAPTION Insert the caption text here The text for the caption
Caption Dialog POSITION Select the position for the caption The position for the caption
Caption Dialog Set Caption n/a n/a Confirms the caption configuration
Caption Dialog Deactivate Caption n/a n/a Deactivates the caption configuration
Caption Dialog Cancel Caption n/a n/a Discards the caption configuration alterations
Abbr Dialog EXPANSION Insert the expanded text for the abbreviation here The expanded text for the abbreviation
Abbr Dialog CONTENT Insert the abbreviation here The abbreviation
Abbr Dialog Set Abbreviation n/a n/a Confirms the abbreviation configuration
Abbr Dialog Deactivate Abbreviation n/a n/a Deactivates the abbreviation configuration
Abbr Dialog Cancel Abbreviation n/a n/a Discards the abbreviation configuration alterations
Dfn Dialog CONTENT_DEFINITION Insert the term definition here The term definition
Dfn Dialog CONTENT Insert the term here The term to be defined
Dfn Dialog Set Definition n/a n/a Confirms the definition configuration
Dfn Dialog Deactivate Definition n/a n/a Deactivates the definition configuration
Dfn Dialog Cancel Definition n/a n/a Discards the definition configuration alterations
Quote Dialog CONTENT Insert the citation text here The citation text
Quote Dialog URL Insert a valid link here The link for the cited document
Quote Dialog Set Quote n/a n/a Confirms the citation configuration
Quote Dialog Deactivate Quote n/a n/a Deactivates the citation configuration
Quote Dialog Cancel Quote n/a n/a Discards the citation configuration alterations
Lang Dialog LANG Select the text language here The text language
Lang Dialog CONTENT Insert the text here The text
Lang Dialog Set Lang n/a n/a Confirms the language configuration
Lang Dialog Deactivate Lang n/a n/a Deactivates the language configuration
Lang Dialog Cancel Lang n/a n/a Discard the language configuration alterations
Link Dialog ORIGIN_LINK Select a definition or insert a valid URL The link origin
Link Dialog DEFINITION Select a definition List of defined terms
Link Dialog CONTENT Insert the text for the link here The link text
Link Dialog URI Insert a valid URL here The URL for the link
Link Dialog Set Link n/a n/a Confirms the link configuration
Link Dialog Deactivate Link n/a n/a Deactivates the link configuration
Link Dialog Cancel Link n/a n/a Discards the link configuration alterations

Note: Placeholder text provides instructions or an example of the required data format inside form fields that have not yet been edited by the user. Placeholder text is usually displayed with lower color contrast than text provided by users, and it disappears from form fields when users start entering text. If the placeholder text contains instructional information or examples that disappear, it makes it more difficult for users to check their responses before submitting the form.

While placeholder text provides valuable guidance for many users, placeholder text is not a replacement for labels. Assistive technologies, such as screen readers, do not treat placeholder text as labels. Moreover, at the time of writing this tutorial, placeholder text is not broadly supported across assistive technologies and not displayed in older web browsers.

Help button ("More details")

A button on toolbar with an help icon

Description Lists

Term-description groups may be names and definitions, questions and answers, categories and topics, or any other groups of term-description pairs. The order of term-description groups within a dl element, and the order of terms and descriptions within each group, may be significant.

Example 1 In this example a dl is used to represent a simple list of names and descriptions:


Blanco tequila
The purest form of the blue agave spirit...
Reposado tequila
Typically aged in wooden barrels for between two and eleven months...

Example 2 In this example a dl element represents a set of terms, each of which has multiple descriptions:


Information about the rock band Queen:

Members
Brian May
Freddie Mercury
John Deacon
Roger Taylor
Record labels
EMI
Parlophone
Capitol
Hollywood
Island

Example 3 In this example a dl is used to show a set of instructions, where the order of the instructions is important:


Determine the victory points as follows (use the first matching case):

If you have exactly five gold coins
You get five victory points
If you have one or more gold coins, and you have one or more silver coins
You get two victory points
If you have one or more silver coins
You get one victory point
Otherwise
You get no victory points
### Guided Help meets #134 any scenario :question: ### Error identification meets #131 - [ ] Provide an error message as specific as possible. (meet #131) - [ ] Indicate the error (meet #131) - [ ] use color, shape, text (meet #78 #900 ) - [ ] use semantic markup (meet #76 ) - [ ] use aria-[state] (meet #131) - See wire-frames for example of error indication on Text Area [SUGGESTION] - Errors on entire blocks could be indicated by inserting a border (shape) - Errors on Text could be marked with ` - Use css to set the presentation with **text-decoration-style**, **text-decoration-line** and **text-decoration-color**. For instance: `.typeOfError { text-decoration: wavy underline overline;}` - avoid `text-decoration: solid underline` because it could be confised with links). - For error indication for inputs, use the AccessibilityHelp - See #48 ### Error suggestions meets #133 - [ ] **Required Fields**. "[Field_Name] is required. Please complete it" - [ ] **Invalid content**. "[Field_Name] is invalid. Please inform a [content] that is [rule]" - [ ] **Empty block-types**. "Seems that you left some empty line. Empty lines are not allowed" - [ ] **Orphaned term validation**. "Seems that a description list is incomplete. Every term should have at least one description and every description should have at least one term." - [ ] **Orphaned description validation**. "Seems that a description list is incomplete. Every description should have at least one term." - [ ] **Header Validation**: "Headers must be structured hierarchically. For example, try to follow nested content under an h2 heading with h3 before you use h4." - [ ] set accessibility to false - [ ] **Broken Definition's link**. "A term definition that you had linked in other part of the content have been deactivated. Check the terms without a definition and if necessary add a definition. Unusual terms could be difficult to understand and thus not accessible." - [ ] set accessibility to false Only if decorative styles are allowed - [ ] **Text color and highlight Validation**: "Seems that you styled a text but add no semantic meaning to it. Pure decorative styles is not encourage. If you wants to give meaning for a text, for instance an importante phrase, you should use some of the of the semantic options" - [ ] set accessibility to false - [ ] **Text alignment Validation**: - [ ] "Justified or Centered text are not accessible. Align text just for one side, either left or right". - [ ] "Mixing text alignments is not accessible. Align text just for one side, either left or right". - [ ] set accessibility to false # Usage - [ ] Text Editor component should be build to be a Dynamic component. Thus, it should be adaptable for different usage context ## Authoring Tool - [ ] **Text Component - Text Section**: - full version of Text Editor - Top-level header: `h3` - [ ] **Image Component - Long Description (image's caption)** - include all Block types, except for Headers - include all Inline-Semantic Types - [ ] **Video Component - Transcription** - include Paragraph - include Description List - include strong - include emphasis - include abbreviation - include definition - lang - [ ] **Audio Component - Transcription** - include Paragraph - include Description List - include strong - include emphasis - include abbreviation - include definition - lang - [ ] **Link - Text Description**: a `input type='text'` - [ ] **Activity Component - Instructions**: - full version of Text Editor, except for Headers ## Course - [ ] **Activity Component - Text**: - full version of Text Editor - header top-level `h2` ## StoryTelling - [ ] Description (Transcription) - include Paragraph - include Description List - include strong - include emphasis - include abbreviation - include definition - lang ## Forum - [ ] Full component # Wireframes ## Toolbar ![image](https://user-images.githubusercontent.com/993369/81084945-e7b39500-8ecc-11ea-8364-6da7611e84ee.png) ![image](https://user-images.githubusercontent.com/993369/81084983-f4d08400-8ecc-11ea-9bd3-86462f0cd459.png) ![image](https://user-images.githubusercontent.com/993369/81096348-98756080-8edc-11ea-96cc-0030070e166e.png) ![image](https://user-images.githubusercontent.com/993369/81096282-84316380-8edc-11ea-884b-2f2554033316.png) ### Link dialog ![image](https://user-images.githubusercontent.com/993369/81023603-4e8e6b00-8e47-11ea-9236-07f0fb9f6203.png) ### Lang dialog ![image](https://user-images.githubusercontent.com/993369/80461062-18169480-890b-11ea-8226-bbf327a593c9.png) ### Abbr dialog ![image](https://user-images.githubusercontent.com/993369/80461194-4a27f680-890b-11ea-8e10-1ac613b859d3.png) ### Definition dialog ![image](https://user-images.githubusercontent.com/993369/80461232-56ac4f00-890b-11ea-83ce-6f27dbe00564.png) ### Description List dialog ![image](https://user-images.githubusercontent.com/993369/81219408-26714a00-8fb6-11ea-91d5-2478b6785990.png) ## Text Area **Initial state / no focus** ![image](https://user-images.githubusercontent.com/993369/80177222-71ac5580-85d1-11ea-898f-f501fd84ef5a.png) **Focused** ![image](https://user-images.githubusercontent.com/993369/80177756-f9469400-85d2-11ea-981c-f74530c441d8.png) **Focused** ![image](https://user-images.githubusercontent.com/993369/80178648-2300ba80-85d5-11ea-97ed-687ad5363f4e.png) **No focus** ![image](https://user-images.githubusercontent.com/993369/80178666-2b58f580-85d5-11ea-8b2e-5bc864d12fdb.png) ## Header Validation ![image](https://user-images.githubusercontent.com/993369/80742385-ac425080-8af1-11ea-8bed-2384d637db63.png) # References [HTML5 specs](https://www.w3.org/TR/html50/Overview.html#contents) https://openinclusion.com/blog/presenting-abbreviations-acronyms-for-screen-reader-users/
ecureuill commented 4 years ago

@juantenesaca this in progress, but with you desire you can start on the first section

juantenesaca commented 4 years ago

Ok, firstly I am fixing the navigation buttons.

github-actions[bot] commented 4 years ago

This Feature is ready to be implemented.

github-actions[bot] commented 3 years ago

This feature have been implemented and is ready for Funcional Test. Please, test the feature.