Prompt: WYSIWYG Rich Text Editor with Image Upload and Tables (FPC010)
Model: Groq-Gemma2-9b | Date: 07/16/2025 | Page Title: WYSIWYG Rich Text Editor
Prompt Description
Develop a sophisticated WYSIWYG (What You See Is What You Get) Rich Text Editor similar to those found in CMS systems or advanced blogging platforms. This is a highly complex front-end challenge.
**Core Features:**
1. **Editable Content Area (`data-testid='wysiwyg-editor'`):** A `div` with `contenteditable='true'`, serving as the primary editing surface. Must support `role='textbox'` and `aria-multiline='true'`.
2. **Comprehensive Toolbar (`data-testid='wysiwyg-toolbar'`):**
* **Text Formatting:** Bold, Italic, Underline, Strikethrough, Subscript, Superscript.
* **Block Formatting:** Paragraph, Heading Levels (H1-H6 via a dropdown/select).
* **List Formatting:** Unordered List, Ordered List.
* **Alignment:** Left, Center, Right, Justify.
* **Links:** Create/Edit Hyperlink (should open a small modal to input URL and text).
* **Image Upload (Simulated):** A button to 'Insert Image'. Clicking it should open a prompt/modal asking for an image URL. Upon providing a URL, the image is inserted into the editor content. Image should be resizable (basic handles or fixed size options).
* **Table Insertion:** A button to 'Insert Table'. Opens a small modal/grid to select table dimensions (e.g., 3x2 grid). Inserts an empty, editable HTML table into the editor.
* **Undo/Redo:** Buttons for undoing and redoing actions.
3. **Output:** A mechanism to get the HTML content of the editor (e.g., a button 'View HTML' that displays the editor's `innerHTML` in a `<pre>` tag or logs to console).
**Technical & Accessibility Requirements:**
* **Rich Text Engine:** MUST implement logic for applying and removing formatting using `document.execCommand` (understanding its limitations for a simulation is fine) or preferably by directly manipulating the DOM and selection ranges for more robust behavior. This is the core challenge.
* **Toolbar Accessibility:** All toolbar buttons MUST be proper `<button>` elements, fully keyboard accessible, and use `aria-pressed` to indicate active states for toggleable formats (Bold, Italic). Dropdowns (e.g., for Headings) must follow ARIA menu/listbox patterns.
* **Editor Accessibility:** The contenteditable area itself must be navigable. Semantic meaning of formatted text (e.g., headings are `<h1>`, lists are `<ul>`) must be preserved in the underlying HTML.
* **Modals (for Links, Image, Table):** Must be accessible (trap focus, Escape to close, proper ARIA roles like `dialog`).
* **Image and Table Manipulation:** Inserted images should be focusable and ideally have basic resizing. Inserted tables should allow typing into cells.
* Responsive toolbar and editor area.
* Styling: Tailwind CSS where appropriate, but significant custom CSS/JS will be required for the toolbar's appearance, button states, modal dialogs, and the editor's behavior (e.g., custom list styling if not using default, table cell borders within editor).
**Testing Identifiers:**
* Editable Content Area: `data-testid='wysiwyg-editor'`
* Toolbar: `data-testid='wysiwyg-toolbar'`
* Bold Button: `data-testid='toolbar-btn-bold'`
* Heading Selector (dropdown/select): `data-testid='toolbar-select-heading'`
* Insert Image Button: `data-testid='toolbar-btn-image'`
* Insert Table Button: `data-testid='toolbar-btn-table'`
* Link Modal (example input): `data-testid='link-modal-url-input'`
* View HTML Output Area (if used): `data-testid='html-output-area'`
Key Links & Info
Analysis Timestamp: 07/16/2025 17:46:04
Scores for this Prompt
Technical Quality
24.0 / 110.0
(21.82%)
Prompt Adherence
22.0 / 24.0
(91.67%)
Overall Weighted
70.71 %
Technical Quality Breakdown
HTML Structure & Semantics (5.0 / 10.0)
| Check | Status | Message & Data | Points | Viewport |
|---|---|---|---|---|
| HTML Lang | PASS |
PASS
|
1.0 / 1.0 | desktop |
| Page Title | PASS |
PASS
|
1.0 / 1.0 | desktop |
| Main Tag | FAIL |
No visible <main>.
|
0.0 / 1.0 | desktop |
| Nav Tag | WARN |
No visible <nav>.
|
0.0 / 1.0 | desktop |
| Footer Tag | WARN |
No visible <footer>.
|
0.0 / 1.0 | desktop |
| H1 Count | PASS |
PASS
|
1.0 / 1.0 | desktop |
| Heading Order Logic | PASS |
PASS
|
1.0 / 1.0 | desktop |
| Image Alts | INFO |
No visible images (INFO).
|
1.0 / 1.0 | desktop |
| Form Labels | FAIL |
1 inputs unlabeled.
{
"unlabeled_count": 1
}
|
0.0 / 2.0 | desktop |
CSS Quality (2.0 / 5.0)
| Check | Status | Message & Data | Points | Viewport |
|---|---|---|---|---|
| CSS Variables | WARN |
No :root CSS variables.
|
0.0 / 2.0 | desktop |
| Modern Layout Body/Main | INFO |
Flex/Grid not on body/main.
|
0.0 / 1.0 | desktop |
| Inline Styles | PASS |
Minimal inline styles.
|
1.0 / 1.0 | desktop |
| !important Usage | PASS |
No !important in <style> tags.
|
1.0 / 1.0 | desktop |
JavaScript Health (5.0 / 5.0)
| Check | Status | Message & Data | Points | Viewport |
|---|---|---|---|---|
| JS Console Errors | PASS |
No significant JS errors.
|
5.0 / 5.0 | desktop |
Accessibility (Axe-core) (2.0 / 40.0)
| Check | Status | Message & Data | Points | Viewport |
|---|---|---|---|---|
| Axe Violations | FAIL |
4 Axe violations (Crit:1,Ser:1,Mod:2,Min:0). Report: axe_report_FPC010_WYSIWYG_Rich_Text_Editor_with_Image_Upload_and_Tables_desktop.json
[
{
"help": "Elements must have sufficient color contrast",
"id": "color-contrast",
"impact": "serious"
},
{
"help": "Form elements must have labels",
"id": "label",
"impact": "critical"
},
{
"help": "Page must have one main landmark",
"id": "landmark-one-main",
"impact": "moderate"
},
{
"help": "All page content must be contained by landmarks",
"id": "region",
"impact": "moderate"
}
]
|
1.0 / 20.0 | desktop |
| Axe Violations | FAIL |
4 Axe violations (Crit:1,Ser:1,Mod:2,Min:0). Report: axe_report_FPC010_WYSIWYG_Rich_Text_Editor_with_Image_Upload_and_Tables_mobile.json
[
{
"help": "Elements must have sufficient color contrast",
"id": "color-contrast",
"impact": "serious"
},
{
"help": "Form elements must have labels",
"id": "label",
"impact": "critical"
},
{
"help": "Page must have one main landmark",
"id": "landmark-one-main",
"impact": "moderate"
},
{
"help": "All page content must be contained by landmarks",
"id": "region",
"impact": "moderate"
}
]
|
1.0 / 20.0 | mobile |
Rendered Color & Contrast (0.0 / 30.0)
| Check | Status | Message & Data | Points | Viewport |
|---|---|---|---|---|
| Contrast Failure (AA) | FAIL |
AA FAIL 3.68 for 'B' in <button data-testid='toolbar-btn-bold' class='bg-blue-500 hover:bg-blue-700 ...'>
{
"bg_eff": "rgb(59, 130, 246)",
"fg": "rgb(255, 255, 255)",
"ratio": 3.6779011537825332,
"text": "B"
}
|
0.0 / 0.0 | desktop |
| Contrast Failure (AA) | FAIL |
AA FAIL 3.68 for 'I' in <button data-testid='toolbar-btn-italic' class='bg-blue-500 hover:bg-blue-700 ...'>
{
"bg_eff": "rgb(59, 130, 246)",
"fg": "rgb(255, 255, 255)",
"ratio": 3.6779011537825332,
"text": "I"
}
|
0.0 / 0.0 | desktop |
| Contrast Failure (AA) | FAIL |
AA FAIL 3.68 for 'U' in <button data-testid='toolbar-btn-underline' class='bg-blue-500 hover:bg-blue-700 ...'>
{
"bg_eff": "rgb(59, 130, 246)",
"fg": "rgb(255, 255, 255)",
"ratio": 3.6779011537825332,
"text": "U"
}
|
0.0 / 0.0 | desktop |
| Contrast Failure (AA) | FAIL |
AA FAIL 3.68 for 'S' in <button data-testid='toolbar-btn-strikethrough' class='bg-blue-500 hover:bg-blue-700 ...'>
{
"bg_eff": "rgb(59, 130, 246)",
"fg": "rgb(255, 255, 255)",
"ratio": 3.6779011537825332,
"text": "S"
}
|
0.0 / 0.0 | desktop |
| Contrast Failure (AA) | FAIL |
AA FAIL 3.68 for 'Sub' in <button data-testid='toolbar-btn-subscript' class='bg-blue-500 hover:bg-blue-700 ...'>
{
"bg_eff": "rgb(59, 130, 246)",
"fg": "rgb(255, 255, 255)",
"ratio": 3.6779011537825332,
"text": "Sub"
}
|
0.0 / 0.0 | desktop |
| Contrast Failure (AA) | FAIL |
AA FAIL 3.68 for 'Sup' in <button data-testid='toolbar-btn-superscript' class='bg-blue-500 hover:bg-blue-700 ...'>
{
"bg_eff": "rgb(59, 130, 246)",
"fg": "rgb(255, 255, 255)",
"ratio": 3.6779011537825332,
"text": "Sup"
}
|
0.0 / 0.0 | desktop |
| Contrast Failure (AA) | FAIL |
AA FAIL 3.68 for 'UL' in <button data-testid='toolbar-btn-ul' class='bg-blue-500 hover:bg-blue-700 ...'>
{
"bg_eff": "rgb(59, 130, 246)",
"fg": "rgb(255, 255, 255)",
"ratio": 3.6779011537825332,
"text": "UL"
}
|
0.0 / 0.0 | desktop |
| Contrast Failure (AA) | FAIL |
AA FAIL 3.68 for 'OL' in <button data-testid='toolbar-btn-ol' class='bg-blue-500 hover:bg-blue-700 ...'>
{
"bg_eff": "rgb(59, 130, 246)",
"fg": "rgb(255, 255, 255)",
"ratio": 3.6779011537825332,
"text": "OL"
}
|
0.0 / 0.0 | desktop |
| Contrast Failure (AA) | FAIL |
AA FAIL 3.68 for 'Left' in <button data-testid='toolbar-btn-left' class='bg-blue-500 hover:bg-blue-700 ...'>
{
"bg_eff": "rgb(59, 130, 246)",
"fg": "rgb(255, 255, 255)",
"ratio": 3.6779011537825332,
"text": "Left"
}
|
0.0 / 0.0 | desktop |
| Contrast Failure (AA) | FAIL |
AA FAIL 3.68 for 'Center' in <button data-testid='toolbar-btn-center' class='bg-blue-500 hover:bg-blue-700 ...'>
{
"bg_eff": "rgb(59, 130, 246)",
"fg": "rgb(255, 255, 255)",
"ratio": 3.6779011537825332,
"text": "Center"
}
|
0.0 / 0.0 | desktop |
| Contrast Failure (AA) | FAIL |
AA FAIL 3.68 for 'Right' in <button data-testid='toolbar-btn-right' class='bg-blue-500 hover:bg-blue-700 ...'>
{
"bg_eff": "rgb(59, 130, 246)",
"fg": "rgb(255, 255, 255)",
"ratio": 3.6779011537825332,
"text": "Right"
}
|
0.0 / 0.0 | desktop |
| Contrast Failure (AA) | FAIL |
AA FAIL 3.68 for 'Justify' in <button data-testid='toolbar-btn-justify' class='bg-blue-500 hover:bg-blue-700 ...'>
{
"bg_eff": "rgb(59, 130, 246)",
"fg": "rgb(255, 255, 255)",
"ratio": 3.6779011537825332,
"text": "Justify"
}
|
0.0 / 0.0 | desktop |
| Contrast Failure (AA) | FAIL |
AA FAIL 3.68 for 'Link' in <button data-testid='toolbar-btn-link' class='bg-blue-500 hover:bg-blue-700 ...'>
{
"bg_eff": "rgb(59, 130, 246)",
"fg": "rgb(255, 255, 255)",
"ratio": 3.6779011537825332,
"text": "Link"
}
|
0.0 / 0.0 | desktop |
| Contrast Failure (AA) | FAIL |
AA FAIL 3.68 for 'Image' in <button data-testid='toolbar-btn-image' class='bg-blue-500 hover:bg-blue-700 ...'>
{
"bg_eff": "rgb(59, 130, 246)",
"fg": "rgb(255, 255, 255)",
"ratio": 3.6779011537825332,
"text": "Image"
}
|
0.0 / 0.0 | desktop |
| Contrast Failure (AA) | FAIL |
AA FAIL 3.68 for 'Table' in <button data-testid='toolbar-btn-table' class='bg-blue-500 hover:bg-blue-700 ...'>
{
"bg_eff": "rgb(59, 130, 246)",
"fg": "rgb(255, 255, 255)",
"ratio": 3.6779011537825332,
"text": "Table"
}
|
0.0 / 0.0 | desktop |
| Contrast Failure (AA) | FAIL |
AA FAIL 3.68 for 'Undo' in <button data-testid='toolbar-btn-undo' class='bg-blue-500 hover:bg-blue-700 ...'>
{
"bg_eff": "rgb(59, 130, 246)",
"fg": "rgb(255, 255, 255)",
"ratio": 3.6779011537825332,
"text": "Undo"
}
|
0.0 / 0.0 | desktop |
| Contrast Failure (AA) | FAIL |
AA FAIL 3.68 for 'Redo' in <button data-testid='toolbar-btn-redo' class='bg-blue-500 hover:bg-blue-700 ...'>
{
"bg_eff": "rgb(59, 130, 246)",
"fg": "rgb(255, 255, 255)",
"ratio": 3.6779011537825332,
"text": "Redo"
}
|
0.0 / 0.0 | desktop |
| Contrast Check Result | FAIL |
17 WCAG AA failures on 18 instances.
|
0.0 / 15.0 | desktop |
| Contrast Failure (AA) | FAIL |
AA FAIL 3.68 for 'B' in <button data-testid='toolbar-btn-bold' class='bg-blue-500 hover:bg-blue-700 ...'>
{
"bg_eff": "rgb(59, 130, 246)",
"fg": "rgb(255, 255, 255)",
"ratio": 3.6779011537825332,
"text": "B"
}
|
0.0 / 0.0 | mobile |
| Contrast Failure (AA) | FAIL |
AA FAIL 3.68 for 'I' in <button data-testid='toolbar-btn-italic' class='bg-blue-500 hover:bg-blue-700 ...'>
{
"bg_eff": "rgb(59, 130, 246)",
"fg": "rgb(255, 255, 255)",
"ratio": 3.6779011537825332,
"text": "I"
}
|
0.0 / 0.0 | mobile |
| Contrast Failure (AA) | FAIL |
AA FAIL 3.68 for 'U' in <button data-testid='toolbar-btn-underline' class='bg-blue-500 hover:bg-blue-700 ...'>
{
"bg_eff": "rgb(59, 130, 246)",
"fg": "rgb(255, 255, 255)",
"ratio": 3.6779011537825332,
"text": "U"
}
|
0.0 / 0.0 | mobile |
| Contrast Failure (AA) | FAIL |
AA FAIL 3.68 for 'S' in <button data-testid='toolbar-btn-strikethrough' class='bg-blue-500 hover:bg-blue-700 ...'>
{
"bg_eff": "rgb(59, 130, 246)",
"fg": "rgb(255, 255, 255)",
"ratio": 3.6779011537825332,
"text": "S"
}
|
0.0 / 0.0 | mobile |
| Contrast Failure (AA) | FAIL |
AA FAIL 3.68 for 'Sub' in <button data-testid='toolbar-btn-subscript' class='bg-blue-500 hover:bg-blue-700 ...'>
{
"bg_eff": "rgb(59, 130, 246)",
"fg": "rgb(255, 255, 255)",
"ratio": 3.6779011537825332,
"text": "Sub"
}
|
0.0 / 0.0 | mobile |
| Contrast Failure (AA) | FAIL |
AA FAIL 3.68 for 'Sup' in <button data-testid='toolbar-btn-superscript' class='bg-blue-500 hover:bg-blue-700 ...'>
{
"bg_eff": "rgb(59, 130, 246)",
"fg": "rgb(255, 255, 255)",
"ratio": 3.6779011537825332,
"text": "Sup"
}
|
0.0 / 0.0 | mobile |
| Contrast Failure (AA) | FAIL |
AA FAIL 3.68 for 'UL' in <button data-testid='toolbar-btn-ul' class='bg-blue-500 hover:bg-blue-700 ...'>
{
"bg_eff": "rgb(59, 130, 246)",
"fg": "rgb(255, 255, 255)",
"ratio": 3.6779011537825332,
"text": "UL"
}
|
0.0 / 0.0 | mobile |
| Contrast Failure (AA) | FAIL |
AA FAIL 3.68 for 'OL' in <button data-testid='toolbar-btn-ol' class='bg-blue-500 hover:bg-blue-700 ...'>
{
"bg_eff": "rgb(59, 130, 246)",
"fg": "rgb(255, 255, 255)",
"ratio": 3.6779011537825332,
"text": "OL"
}
|
0.0 / 0.0 | mobile |
| Contrast Failure (AA) | FAIL |
AA FAIL 3.68 for 'Left' in <button data-testid='toolbar-btn-left' class='bg-blue-500 hover:bg-blue-700 ...'>
{
"bg_eff": "rgb(59, 130, 246)",
"fg": "rgb(255, 255, 255)",
"ratio": 3.6779011537825332,
"text": "Left"
}
|
0.0 / 0.0 | mobile |
| Contrast Failure (AA) | FAIL |
AA FAIL 3.68 for 'Center' in <button data-testid='toolbar-btn-center' class='bg-blue-500 hover:bg-blue-700 ...'>
{
"bg_eff": "rgb(59, 130, 246)",
"fg": "rgb(255, 255, 255)",
"ratio": 3.6779011537825332,
"text": "Center"
}
|
0.0 / 0.0 | mobile |
| Contrast Failure (AA) | FAIL |
AA FAIL 3.68 for 'Right' in <button data-testid='toolbar-btn-right' class='bg-blue-500 hover:bg-blue-700 ...'>
{
"bg_eff": "rgb(59, 130, 246)",
"fg": "rgb(255, 255, 255)",
"ratio": 3.6779011537825332,
"text": "Right"
}
|
0.0 / 0.0 | mobile |
| Contrast Failure (AA) | FAIL |
AA FAIL 3.68 for 'Justify' in <button data-testid='toolbar-btn-justify' class='bg-blue-500 hover:bg-blue-700 ...'>
{
"bg_eff": "rgb(59, 130, 246)",
"fg": "rgb(255, 255, 255)",
"ratio": 3.6779011537825332,
"text": "Justify"
}
|
0.0 / 0.0 | mobile |
| Contrast Failure (AA) | FAIL |
AA FAIL 3.68 for 'Link' in <button data-testid='toolbar-btn-link' class='bg-blue-500 hover:bg-blue-700 ...'>
{
"bg_eff": "rgb(59, 130, 246)",
"fg": "rgb(255, 255, 255)",
"ratio": 3.6779011537825332,
"text": "Link"
}
|
0.0 / 0.0 | mobile |
| Contrast Failure (AA) | FAIL |
AA FAIL 3.68 for 'Image' in <button data-testid='toolbar-btn-image' class='bg-blue-500 hover:bg-blue-700 ...'>
{
"bg_eff": "rgb(59, 130, 246)",
"fg": "rgb(255, 255, 255)",
"ratio": 3.6779011537825332,
"text": "Image"
}
|
0.0 / 0.0 | mobile |
| Contrast Failure (AA) | FAIL |
AA FAIL 3.68 for 'Table' in <button data-testid='toolbar-btn-table' class='bg-blue-500 hover:bg-blue-700 ...'>
{
"bg_eff": "rgb(59, 130, 246)",
"fg": "rgb(255, 255, 255)",
"ratio": 3.6779011537825332,
"text": "Table"
}
|
0.0 / 0.0 | mobile |
| Contrast Failure (AA) | FAIL |
AA FAIL 3.68 for 'Undo' in <button data-testid='toolbar-btn-undo' class='bg-blue-500 hover:bg-blue-700 ...'>
{
"bg_eff": "rgb(59, 130, 246)",
"fg": "rgb(255, 255, 255)",
"ratio": 3.6779011537825332,
"text": "Undo"
}
|
0.0 / 0.0 | mobile |
| Contrast Failure (AA) | FAIL |
AA FAIL 3.68 for 'Redo' in <button data-testid='toolbar-btn-redo' class='bg-blue-500 hover:bg-blue-700 ...'>
{
"bg_eff": "rgb(59, 130, 246)",
"fg": "rgb(255, 255, 255)",
"ratio": 3.6779011537825332,
"text": "Redo"
}
|
0.0 / 0.0 | mobile |
| Contrast Check Result | FAIL |
17 WCAG AA failures on 18 instances.
|
0.0 / 15.0 | mobile |
Responsiveness (Viewport & Scroll) (10.0 / 20.0)
| Check | Status | Message & Data | Points | Viewport |
|---|---|---|---|---|
| Viewport Meta Tag | PASS |
Configured correctly for responsiveness.
|
4.0 / 4.0 | desktop |
| Horizontal Scrollbar | PASS |
No horizontal scrollbar detected.
|
6.0 / 6.0 | desktop |
| Viewport Meta Tag | INFO |
Already scored for this prompt.
|
0.0 / 0.0 | mobile |
| Horizontal Scrollbar | FAIL |
Horizontal scrollbar detected.
|
0.0 / 6.0 | mobile |
Prompt Adherence Breakdown
| Check | Status | Message & Data | Points | Viewport |
|---|---|---|---|---|
| WYSIWYG Editor Area | PASS |
Element '[data-testid='wysiwyg-editor'][contenteditable='true'][role='textbox'][aria-multiline='true']' present and visible.
Selector:
[data-testid='wysiwyg-editor'][contenteditable='true'][role='textbox'][aria-multiline='true'] |
3.0 / 3.0 | desktop |
| WYSIWYG Toolbar | PASS |
Element '[data-testid='wysiwyg-toolbar']' present and visible.
Selector:
[data-testid='wysiwyg-toolbar'] |
2.0 / 2.0 | desktop |
| Bold Button in Toolbar | PASS |
Element '[data-testid='wysiwyg-toolbar'] button[data-testid='toolbar-btn-bold']' present and visible.
Selector:
[data-testid='wysiwyg-toolbar'] button[data-testid='toolbar-btn-bold'] |
1.0 / 1.0 | desktop |
| Heading Selector in Toolbar | PASS |
Element '[data-testid='wysiwyg-toolbar'] [data-testid='toolbar-select-heading']' present and visible.
Selector:
[data-testid='wysiwyg-toolbar'] [data-testid='toolbar-select-heading'] |
1.0 / 1.0 | desktop |
| Insert Image Button | PASS |
Element '[data-testid='wysiwyg-toolbar'] button[data-testid='toolbar-btn-image']' present and visible.
Selector:
[data-testid='wysiwyg-toolbar'] button[data-testid='toolbar-btn-image'] |
1.0 / 1.0 | desktop |
| Insert Table Button | PASS |
Element '[data-testid='wysiwyg-toolbar'] button[data-testid='toolbar-btn-table']' present and visible.
Selector:
[data-testid='wysiwyg-toolbar'] button[data-testid='toolbar-btn-table'] |
1.0 / 1.0 | desktop |
| Apply Bold and Check State | PASS |
All interaction steps/outcomes verified.
|
5.0 / 5.0 | desktop |
| Insert H2 Heading (Simulated) | PASS |
All interaction steps/outcomes verified.
|
4.0 / 4.0 | desktop |
| Insert Image (Simulated via Prompt) | PASS |
All interaction steps/outcomes verified.
|
4.0 / 4.0 | desktop |
| Undo/Redo Buttons Exist | FAIL |
Custom script evaluation result: False (expected true).
Script Eval: False
|
0.0 / 2.0 | desktop |
| WYSIWYG Editor Area | PASS |
(Points already awarded) Element '[data-testid='wysiwyg-editor'][contenteditable='true'][role='textbox'][aria-multiline='true']' present and visible.
Selector:
[data-testid='wysiwyg-editor'][contenteditable='true'][role='textbox'][aria-multiline='true'] |
0.0 / 3.0 | mobile |
| WYSIWYG Toolbar | PASS |
(Points already awarded) Element '[data-testid='wysiwyg-toolbar']' present and visible.
Selector:
[data-testid='wysiwyg-toolbar'] |
0.0 / 2.0 | mobile |
| Bold Button in Toolbar | PASS |
(Points already awarded) Element '[data-testid='wysiwyg-toolbar'] button[data-testid='toolbar-btn-bold']' present and visible.
Selector:
[data-testid='wysiwyg-toolbar'] button[data-testid='toolbar-btn-bold'] |
0.0 / 1.0 | mobile |
| Heading Selector in Toolbar | PASS |
(Points already awarded) Element '[data-testid='wysiwyg-toolbar'] [data-testid='toolbar-select-heading']' present and visible.
Selector:
[data-testid='wysiwyg-toolbar'] [data-testid='toolbar-select-heading'] |
0.0 / 1.0 | mobile |
| Insert Image Button | PASS |
(Points already awarded) Element '[data-testid='wysiwyg-toolbar'] button[data-testid='toolbar-btn-image']' present and visible.
Selector:
[data-testid='wysiwyg-toolbar'] button[data-testid='toolbar-btn-image'] |
0.0 / 1.0 | mobile |
| Insert Table Button | PASS |
(Points already awarded) Element '[data-testid='wysiwyg-toolbar'] button[data-testid='toolbar-btn-table']' present and visible.
Selector:
[data-testid='wysiwyg-toolbar'] button[data-testid='toolbar-btn-table'] |
0.0 / 1.0 | mobile |
| Apply Bold and Check State | PASS |
(Points already awarded) All interaction steps/outcomes verified.
|
0.0 / 5.0 | mobile |
| Insert H2 Heading (Simulated) | PASS |
(Points already awarded) All interaction steps/outcomes verified.
|
0.0 / 4.0 | mobile |
| Insert Image (Simulated via Prompt) | PASS |
(Points already awarded) All interaction steps/outcomes verified.
|
0.0 / 4.0 | mobile |
| Undo/Redo Buttons Exist | FAIL |
Custom script evaluation result: False (expected true).
Script Eval: False
|
0.0 / 2.0 | mobile |