@@ -1,6 +1,6 @@
|
||||
# Accessibility
|
||||
|
||||
The application uses labelled native controls, keyboard-reachable tabs and cue
|
||||
The application uses labelled native controls, keyboard-reachable pressed-state workspace buttons and cue
|
||||
buttons, visible focus indicators, text alternatives for waveform content, and
|
||||
light, dark and system themes. Colour is not the only carrier for issue level.
|
||||
The cue and issue views cap rendered rows to keep navigation responsive while
|
||||
|
||||
+15
-7
@@ -2,16 +2,24 @@
|
||||
|
||||
Subtitle Tools is a relocatable React application with a framework-independent
|
||||
TypeScript subtitle model. The parser first applies byte/text and line bounds,
|
||||
then produces one normalized cue model for SRT, WebVTT and ASS. Operations return
|
||||
new documents instead of mutating parser state. Serializers are format-specific;
|
||||
cross-format export deliberately exposes its preservation boundary.
|
||||
then produces one normalized cue model for SRT, WebVTT, ASS and a bounded flat
|
||||
TTML profile. XML document types/entities are rejected; TTML resources,
|
||||
inherited timing and layout are never resolved. Cue structure/text/timing
|
||||
operations return new documents instead of mutating parser state. Serializers
|
||||
are format-specific; cross-format export deliberately exposes its preservation
|
||||
boundary.
|
||||
|
||||
Parsing and timing transformations are synchronous in v0.1 and therefore capped
|
||||
Parsing and timing transformations are synchronous in v0.2 and therefore capped
|
||||
at 4,000,000 UTF-16 units, 250,000 units per physical line and 100,000 cues. The
|
||||
editor renders at most 10,000 cue rows and 2,000 issue rows, while validation and
|
||||
export still cover the complete bounded document. Revision comparison is
|
||||
index-aligned and linear rather than an unbounded semantic diff.
|
||||
|
||||
The optional waveform component uses browser-native media decoding, keeps at
|
||||
most 2,000 peak buckets and accepts no more than 128 MiB or four decoded hours.
|
||||
It does not run a codec, speech-recognition model or network service.
|
||||
The optional waveform component creates a browser-native playback URL as soon as
|
||||
media is selected. Decoding continues independently and transfers one PCM
|
||||
channel to a disposable module worker, which produces at most 2,000 peak
|
||||
buckets. Replacement and cancellation terminate the worker, suppress stale
|
||||
results and retain the last valid waveform. Zoom/navigation changes only the
|
||||
bounded peak view and native playback position. Inputs remain capped at 128 MiB
|
||||
and four decoded hours; no codec, speech-recognition model or network service
|
||||
runs.
|
||||
|
||||
@@ -6,9 +6,12 @@ other network destination exists. The production policy uses
|
||||
`connect-src 'self'`; browser tests fail on non-local requests.
|
||||
|
||||
Subtitle text is rendered by React as text, not interpreted as HTML. ASS override
|
||||
codes and WebVTT tags are preserved as inert source. Exports are downloads chosen
|
||||
by the user. Browser-native media playback and Web Audio decoding inherit browser
|
||||
codec support and may allocate substantial memory inside the documented bounds.
|
||||
codes and WebVTT tags are preserved as inert source. TTML import rejects document
|
||||
types and entity declarations and reads a deliberately flat, bounded profile; it
|
||||
does not fetch referenced styles, images, fonts or other resources. Exports are
|
||||
downloads chosen by the user. Browser-native media playback and Web Audio
|
||||
decoding inherit browser codec support and may allocate substantial memory inside
|
||||
the documented bounds.
|
||||
|
||||
Validation findings are editorial signals. They are not proof of accessibility,
|
||||
broadcast conformance, synchronization quality or legal compliance. Cross-format
|
||||
|
||||
Reference in New Issue
Block a user