pub struct AccessibilityRule;Available on crate feature
analysis only.Expand description
Rule for detecting accessibility issues in subtitle scripts
Analyzes scripts for patterns that may negatively impact accessibility, including reading speed, contrast, and timing issues that could make subtitles difficult to follow for users with various needs.
§Accessibility Checks
- Display duration: Ensures events are displayed long enough to be readable
- Reading speed: Warns about text that appears/disappears too quickly
- Flash prevention: Detects rapid style changes that could trigger seizures
§Performance
- Time complexity: O(n) for n events
- Memory: O(1) additional space
- Target: <1ms for typical scripts with 1000 events
§Example
use ass_core::analysis::linting::rules::accessibility::AccessibilityRule;
use ass_core::analysis::linting::LintRule;
use ass_core::{Script, ScriptAnalysis};
let script = Script::parse(r#"
[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:00.00,0:00:05.00,Default,,0,0,0,,Text without proper contrast
"#)?;
let analysis = ScriptAnalysis::analyze(&script)?;
let rule = AccessibilityRule;
let issues = rule.check_script(&analysis);Trait Implementations§
Source§impl LintRule for AccessibilityRule
impl LintRule for AccessibilityRule
Source§fn description(&self) -> &'static str
fn description(&self) -> &'static str
Rule description.
Source§fn default_severity(&self) -> IssueSeverity
fn default_severity(&self) -> IssueSeverity
Default severity level.
Source§fn category(&self) -> IssueCategory
fn category(&self) -> IssueCategory
Issue category this rule checks for.
Source§fn check_script(&self, analysis: &ScriptAnalysis<'_>) -> Vec<LintIssue>
fn check_script(&self, analysis: &ScriptAnalysis<'_>) -> Vec<LintIssue>
Check script and return issues.
Auto Trait Implementations§
impl Freeze for AccessibilityRule
impl RefUnwindSafe for AccessibilityRule
impl Send for AccessibilityRule
impl Sync for AccessibilityRule
impl Unpin for AccessibilityRule
impl UnwindSafe for AccessibilityRule
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more