# Image editor, cropper, annotation, signature canvas

**Test family:** `CAN`

- **CAN-001** Load small/large/extreme-aspect/rotated/transparent/animated/corrupt image with correct orientation and color.
- **CAN-002** Crop at edges/corners/min/max/aspect-lock, rotate/flip/zoom/pan, undo/redo/reset, and cancel.
- **CAN-003** Pointer/touch/stylus/keyboard alternatives work; canvas has an accessible non-canvas path for the task.
- **CAN-004** Resize/export preserves intended resolution, aspect, alpha, metadata policy, format, quality, and file size.
- **CAN-005** Annotations align after zoom/rotate/resize and persist in edit/reopen/export.
- **CAN-006** Blank/dot/short/full signature and clear/re-sign behave according to legal/product policy; do not equate scribble presence with identity.
- **CAN-007** Autosave/network failure/concurrent edit does not lose original or create a falsely completed image.
- **CAN-008** Cross-origin image and active SVG content cannot taint/exfiltrate or execute in application origin.

## Comprehensive per-item coverage

- **CAN-009** Exercise unavailable, permission-denied, idle, initializing, active, paused, completed, canceled, failed, and recovered states.
- **CAN-010** Use adjacent names, captions, metadata, or pasted text containing ASCII emoticons, emoji/ZWJ sequences, kaomoji, RTL, combining marks, and long values.
- **CAN-011** Start through pointer, keyboard, touch, switch, voice, automation, and supported device controls; expose equivalent state and one action.
- **CAN-012** Deny, grant, revoke, and change OS/browser permission while idle and active; explain consequences and stop access promptly.
- **CAN-013** Disconnect, reconnect, sleep/wake, background/foreground, rotate, resize, switch devices, and change network quality during use.
- **CAN-014** Force unsupported format, codec, capability, device, browser, version, and hardware acceleration; fall back truthfully.
- **CAN-015** Use empty, tiny, ordinary, boundary-size, malformed, truncated, corrupt, and adversarial inputs without crash or unbounded work.
- **CAN-016** Use inert markup, script, URL, path, filename, metadata, template, and structured-payload canaries; isolate untrusted content.
- **CAN-017** Attempt cross-origin, cross-tenant, unauthorized, sandbox escape, clipboard, device, and local-resource access; enforce least privilege.
- **CAN-018** Double-start, double-stop, repeat, retry after timeout, and race two sessions or devices; prevent duplicate work and state confusion.
- **CAN-019** Navigate away, refresh, crash, restore, expire the session, and resume offline/online; define preservation, cleanup, and recovery.
- **CAN-020** Verify keyboard path, accessible role/name/state, focus, announcements, captions/alternatives, contrast, reflow, target size, and reduced motion.
- **CAN-021** Test locale, RTL, translated/long labels, input methods, regional formats, and unsupported glyphs without corrupting data.
- **CAN-022** Measure initialization, interaction, processing, rendering, memory, CPU/GPU, battery, bandwidth, and cleanup at normal and boundary load.
- **CAN-023** Inspect DOM, device buffers, temporary files, caches, URLs, logs, telemetry, crash reports, previews, and exports for sensitive leakage.
- **CAN-024** Stop, cancel, undo, clear, delete, and revoke; release devices, handles, workers, object URLs, temporary data, and permissions.
- **CAN-025** Change access or ownership after content is loaded or a capability is granted; reauthorize before save, share, export, or commit.
- **CAN-026** Verify telemetry and audit identify capability, actor, target, permission decision, duration, failure, retry, and cleanup without recording sensitive payload.
- **CAN-027** Test concurrent components competing for the same device, shortcut, clipboard, focus, storage, worker, or media resource.
- **CAN-028** Recover from renderer, worker, process, device, storage, and network failure without false success, orphaned capture, or unrecoverable data loss.

[Back to Specialized controls and system surfaces index](../../specialized-controls.md)
