Prompt: Realtime Collaborative Text Editor Simulation (FPC008)
Model: Groq-DeepSeek-70b | Date: 05/17/2025 | Page Title: Collaborative Text Editor
Prompt Description
Simulate a basic real-time collaborative text editor interface (like a simplified Google Docs). Focus is on the UI and client-side simulation of collaboration. **UI Components:** 1. **Main Text Area:** A large, editable content area (e.g., a `div` with `contenteditable='true'` or a `<textarea>`). This is where the main document content goes. Identifiable as `data-testid='editor-content-area'`. 2. **User Cursors/Selections (Simulated):** * Simulate the presence of 1-2 other 'collaborators'. When the page loads, display 'cursors' (small styled `div`s or `span`s) at random positions within the text content to represent other users. These should have a user's name associated (e.g., as a tooltip or a small label). Example: `data-testid='cursor-user-Alice'`. * Optionally, simulate a text selection by another user (e.g., by applying a background color to a range of text and associating it with a user). 3. **Toolbar (Basic):** * Buttons for Bold, Italic, Underline. These should apply/remove formatting to the selected text in the main editor area. (Using `document.execCommand` is acceptable for this simulation, despite its deprecation, or implement custom rich text logic if ambitious). Toolbar: `data-testid='editor-toolbar'`. Bold button: `data-testid='toolbar-bold-btn'`. 4. **Live Changes Simulation:** * After a few seconds of page load, simulate another user typing by programmatically inserting a short string (e.g., '... added by Bob ...') into the main editor content at a specific point. * This change should appear without the current user directly typing it. **Technical & Accessibility Requirements:** * Semantic HTML. The editable area needs careful ARIA role consideration if not a standard form element (e.g., `role='textbox'`, `aria-multiline='true'`). * The simulated cursors and selections must not interfere with the primary user's ability to edit the document or navigate it with a keyboard. * Toolbar buttons must be keyboard accessible and indicate their state (e.g., if selected text is bold, Bold button appears pressed using `aria-pressed`). * Changes made by 'other users' should be announced by an `aria-live` region (`data-testid='collaboration-updates'`) to inform assistive technology users (e.g., 'Bob made an edit'). * Responsive design for the editor interface. * Styling: Tailwind CSS, with custom CSS/JS for the editor functionality, cursor simulation, rich text commands, and live update announcements. **Testing Identifiers:** * Editor Content Area: `data-testid='editor-content-area'` * A Simulated User Cursor: `data-testid='cursor-user-Alice'` * Editor Toolbar: `data-testid='editor-toolbar'` * Bold Button: `data-testid='toolbar-bold-btn'` * Collaboration Updates Announcer: `data-testid='collaboration-updates'`
Key Links & Info
Analysis Timestamp: 05/17/2025 11:46:10
Scores for this Prompt
Technical Quality
161.0 / 190.0
(84.74%)
Prompt Adherence
20.0 / 25.0
(80.00%)
Overall Weighted
80.95 %
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 | FAIL |
No visible headings.
|
0.0 / 1.0 | desktop |
Heading Order Logic | FAIL |
No visible headings.
|
0.0 / 1.0 | desktop |
Image Alts | INFO |
No visible images (INFO).
|
1.0 / 1.0 | desktop |
Form Labels | INFO |
No relevant form inputs (INFO).
{ "unlabeled_count": 0 } |
2.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) (28.0 / 40.0)
Check | Status | Message & Data | Points | Viewport |
---|---|---|---|---|
Axe Violations | WARN |
3 Axe violations (Crit:0,Ser:0,Mod:3,Min:0). Report: axe_report_FPC008_Realtime_Collaborative_Text_Editor_Simulation_desktop.json
[ { "help": "Page must have one main landmark", "id": "landmark-one-main", "impact": "moderate" }, { "help": "Page must contain a level-one heading", "id": "page-has-heading-one", "impact": "moderate" }, { "help": "All page content must be contained by landmarks", "id": "region", "impact": "moderate" } ] |
14.0 / 20.0 | desktop |
Axe Violations | WARN |
3 Axe violations (Crit:0,Ser:0,Mod:3,Min:0). Report: axe_report_FPC008_Realtime_Collaborative_Text_Editor_Simulation_mobile.json
[ { "help": "Page must have one main landmark", "id": "landmark-one-main", "impact": "moderate" }, { "help": "Page must contain a level-one heading", "id": "page-has-heading-one", "impact": "moderate" }, { "help": "All page content must be contained by landmarks", "id": "region", "impact": "moderate" } ] |
14.0 / 20.0 | mobile |
Rendered Color & Contrast (30.0 / 30.0)
Check | Status | Message & Data | Points | Viewport |
---|---|---|---|---|
Contrast Check Result | PASS |
All 4 instances meet WCAG AA. (0 only AA, not AAA).
|
15.0 / 15.0 | desktop |
Contrast Check Result | PASS |
All 4 instances meet WCAG AA. (0 only AA, not AAA).
|
15.0 / 15.0 | mobile |
Responsiveness (Viewport & Scroll) (16.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 | PASS |
No horizontal scrollbar detected.
|
6.0 / 6.0 | mobile |
Performance (Lighthouse) (37.4 / 40.0)
Check | Status | Message & Data | Points | Viewport |
---|---|---|---|---|
Lighthouse Score | PASS |
96/100
|
19.2 / 20.0 | desktop |
Lighthouse Score | PASS |
91/100
|
18.2 / 20.0 | mobile |
Accessibility (Lighthouse) (19.0 / 20.0)
Check | Status | Message & Data | Points | Viewport |
---|---|---|---|---|
Lighthouse Score | PASS |
95/100
|
9.5 / 10.0 | desktop |
Lighthouse Score | PASS |
95/100
|
9.5 / 10.0 | mobile |
Best Practices (Lighthouse) (9.6 / 10.0)
Check | Status | Message & Data | Points | Viewport |
---|---|---|---|---|
Lighthouse Score | PASS |
96/100
|
4.8 / 5.0 | desktop |
Lighthouse Score | PASS |
96/100
|
4.8 / 5.0 | mobile |
SEO (Lighthouse) (9.0 / 10.0)
Check | Status | Message & Data | Points | Viewport |
---|---|---|---|---|
Lighthouse Score | PASS |
90/100
|
4.5 / 5.0 | desktop |
Lighthouse Score | PASS |
90/100
|
4.5 / 5.0 | mobile |
Prompt Adherence Breakdown
Check | Status | Message & Data | Points | Viewport |
---|---|---|---|---|
Editor Content Area | PASS |
Element '[data-testid='editor-content-area'][contenteditable='true'], textarea[data-testid='editor-content-area']' present and visible.
Selector:
[data-testid='editor-content-area'][contenteditable='true'], textarea[data-testid='editor-content-area'] |
3.0 / 3.0 | desktop |
At least one Simulated User Cursor | PASS |
Element '[data-testid^='cursor-user-']' present and visible.
Selector:
[data-testid^='cursor-user-'] |
3.0 / 3.0 | desktop |
Editor Toolbar | PASS |
Element '[data-testid='editor-toolbar']' present and visible.
Selector:
[data-testid='editor-toolbar'] |
2.0 / 2.0 | desktop |
Bold Button | PASS |
Element 'button[data-testid='toolbar-bold-btn']' present and visible.
Selector:
button[data-testid='toolbar-bold-btn'] |
2.0 / 2.0 | desktop |
Collaboration Updates Announcer | PASS |
Element '[data-testid='collaboration-updates'][aria-live]' present and visible.
Selector:
[data-testid='collaboration-updates'][aria-live] |
2.0 / 2.0 | desktop |
Apply Bold Formatting | PASS |
All interaction steps/outcomes verified.
|
5.0 / 5.0 | desktop |
Simulated Collaborative Edit Appears | FAIL |
Unknown adherence check type: text_content_change_dynamic
|
0.0 / 5.0 | desktop |
Editor Area has ARIA Role if ContentEditable Div | PASS |
Custom script evaluation result: True (expected true).
Script Eval: True
|
3.0 / 3.0 | desktop |
Editor Content Area | PASS |
(Points already awarded) Element '[data-testid='editor-content-area'][contenteditable='true'], textarea[data-testid='editor-content-area']' present and visible.
Selector:
[data-testid='editor-content-area'][contenteditable='true'], textarea[data-testid='editor-content-area'] |
0.0 / 3.0 | mobile |
At least one Simulated User Cursor | PASS |
(Points already awarded) Element '[data-testid^='cursor-user-']' present and visible.
Selector:
[data-testid^='cursor-user-'] |
0.0 / 3.0 | mobile |
Editor Toolbar | PASS |
(Points already awarded) Element '[data-testid='editor-toolbar']' present and visible.
Selector:
[data-testid='editor-toolbar'] |
0.0 / 2.0 | mobile |
Bold Button | PASS |
(Points already awarded) Element 'button[data-testid='toolbar-bold-btn']' present and visible.
Selector:
button[data-testid='toolbar-bold-btn'] |
0.0 / 2.0 | mobile |
Collaboration Updates Announcer | PASS |
(Points already awarded) Element '[data-testid='collaboration-updates'][aria-live]' present and visible.
Selector:
[data-testid='collaboration-updates'][aria-live] |
0.0 / 2.0 | mobile |
Apply Bold Formatting | PASS |
(Points already awarded) All interaction steps/outcomes verified.
|
0.0 / 5.0 | mobile |
Simulated Collaborative Edit Appears | FAIL |
Unknown adherence check type: text_content_change_dynamic
|
0.0 / 5.0 | mobile |
Editor Area has ARIA Role if ContentEditable Div | PASS |
(Points already awarded) Custom script evaluation result: True (expected true).
Script Eval: True
|
0.0 / 3.0 | mobile |