low complexity extracted Notes Confidence: 100%
5
Components
18
Shared
0
User Stories
Yes
Analyzed

Description

The Note Editor feature provides a full-screen text editing experience where users can create new notes and update existing ones. The editor supports free-form plaintext input with an optional title field and auto-saves content to the local Drift database as the user types, ensuring no data is lost if the app is backgrounded or the device loses power. Navigation follows the standard pattern - a back button returns the user to the Notes List - and the editor enforces WCAG 2.2 AA requirements including minimum font size, sufficient contrast, and a visible focus indicator for keyboard or switch-access users.

Sources & reasoning

Same matrix evidence as Notes List - all organizations, Phase 2 (v1.0). The Note Editor is the companion write screen; the two features are split per the blueprint's explicit decomposition of the Notes area into separate list and editor features, each with a distinct component set.

Analysis

Business Value

Without an editor the Notes area delivers no value; the Note Editor is the write surface that makes the Notes List useful. For peer mentors with cognitive or motor impairments - a group explicitly called out by NHF - an auto-saving, low-friction editor reduces the anxiety of losing in-progress text, which is a known barrier to adoption for assistive-technology users. The feature also positions Meander as a holistic field tool rather than a pure logging form, increasing daily-active-use and therefore the richness of data available for Bufdir reporting.

Implementation Notes

The editor is a Flutter StatefulWidget wrapping a standard TextField with a debounced auto-save timer (500 ms idle triggers a local Drift upsert). On first save a UUID is assigned locally and an insert mutation is queued in the outbox; subsequent saves update the existing record. The component uses the shared AppTextField widget to inherit the design-token typography and WCAG-compliant contrast values. Deleting a note presents a bottom sheet confirmation before issuing a soft-delete (deleted_at timestamp) that the sync layer propagates to the server. Speech-to-text input is an optional progressive enhancement - the SpeechInputWidget from the activity-registration area can be composed into this editor when the speech-to-text config flag is enabled for the organization, reusing the same SpeechPermissionHandler without duplication.

Quality Assurance

Peer Mentor (primary) · Coordinator (same flow)
1
Scenarios
5
UAT Steps
17
A11y Annotations
3
Role Boundaries
Peer Mentor

Peer Mentor

Quick UAT

  1. Ă…pne Meander-appen som Peer Mentor. Naviger til Notater via nedre navigasjonsmeny.
  2. Trykk pĂĄ knappen for ĂĄ opprette nytt notat. Bekreft at skjermtastaturet ĂĄpner seg og at tittelfeltet er i fokus.
  3. Skriv en tittel og trykk Neste/Tab for å flytte fokus til brødtekstfeltet. Skriv fritekst i notatfeltet og observer auto-lagringsindikator.
  4. Bakgrunn appen (trykk hjem-knappen) og ĂĄpne den igjen. Bekreft at notatteksten er bevart uten tap.
  5. Trykk tilbakeknappen. Bekreft at du returnerer til Notatlisten og at det nye notatet vises øverst.

Quick UAT — Accessibility

  1. Ă…pne Meander-appen som Peer Mentor. Naviger til Notater via nedre navigasjonsmeny.
    • Screen reader Skjermleser annonserer 'Notater, fane' nĂĄr Notater-fanen er valgt. Fanens aktive tilstand annonseres.
    • Keyboard / focus Tab-rekkefølge i nedre nav: Hjem → Kontakter → Legg til → Arbeid → Varsler. Notater nĂĄs via Arbeid-fanen eller tilsvarende nav-element.
    • Focus visibility Synlig fokusring pĂĄ aktiv nav-fane ved tastaturnavigasjon.
  2. Trykk pĂĄ knappen for ĂĄ opprette nytt notat. Bekreft at skjermtastaturet ĂĄpner seg og at tittelfeltet er i fokus.
    • Screen reader Ny-notat-knapp annonseres med label 'Nytt notat' eller tilsvarende. Fokus flyttes til tittelfeltet med annonsering 'Tittel, tekstfelt, tomt'.
    • Focus visibility Tittelfeltet har synlig fokusindikator ved ĂĄpning.
    • Touch target Ny-notat-knapp minimum 24Ă—24 CSS px; anbefalt 44Ă—44 px.
  3. Skriv en tittel og trykk Neste/Tab for å flytte fokus til brødtekstfeltet. Skriv fritekst i notatfeltet og observer auto-lagringsindikator.
    • Screen reader Brødtekstfeltet annonseres 'Notat, tekstfelt' ved fokus. Auto-lagringsindikator annonseres via polite live region nĂĄr lagring er fullført.
    • Keyboard / focus Tab fra tittelfelt → brødtekstfelt uten hopp. Enter inne i brødtekst oppretter ny linje, ikke submit.
    • Focus visibility Synlig fokusring pĂĄ aktivt tekstfelt; ingen fokusfelle inne i editoren.
    • Live region 'Notat lagret' annonseres som polite live region ved auto-lagring.
    • Zoom Editor forblir brukbar ved 200 % zoom; tekstfelt scroller vertikalt uten horisontalt avklipp.
    • Contrast Plassholdertekst i tomme felt minimum 4.5:1 mot bakgrunn. Inndatatekst minimum 4.5:1.
  4. Bakgrunn appen (trykk hjem-knappen) og ĂĄpne den igjen. Bekreft at notatteksten er bevart uten tap.
    • Screen reader Etter gjenĂĄpning annonseres editorskjermen med riktig titteltekst. Ingen feilmelding annonseres.
    • Focus visibility Fokus gjenopprettes til sist aktive felt etter gjenĂĄpning (eller toppen av skjermen som fallback).
  5. Trykk tilbakeknappen. Bekreft at du returnerer til Notatlisten og at det nye notatet vises øverst.
    • Screen reader Tilbakeknapp annonseres 'Tilbake, knapp'. Ved navigasjon tilbake annonseres Notatlisten med overskrift 'Notater'.
    • Keyboard / focus Tilbakeknapp nĂĄs med Tab og aktiveres med Enter/Space. Fokus flyttes til første element i Notatlisten.
    • Touch target Tilbakeknapp minimum 24Ă—24 CSS px.

Role Boundaries

3 role(s) must NOT access this feature
  • Organization Administrator

    Organisasjonsadministrator logger ikke inn pĂĄ mobilappen; notateditor-skjermen finnes ikke i admin-portalen. Eventuelle deep-links returnerer 403.

  • Global Administrator

    Global administrator logger ikke inn pĂĄ mobilappen. Notateditor er utilgjengelig; deep-link returnerer 403.

  • Prospective Organization Representative

    Prospektive organisasjonsrepresentanter har ikke brukerkonto i plattformen. Ingen tilgang til mobilappen eller notateditor.

Expected End State

Notatet er opprettet og synlig øverst i Notatlisten med korrekt tittel og tidsstempel. Innholdet er persistert i den lokale Drift-databasen og vil synkroniseres til backend ved neste tilkoblede økt.

User Stories

No user stories have been generated for this feature yet.