UNPKG

@readium/shared

Version:

Shared models to be used across other Readium projects and implementations in Typescript

212 lines (211 loc) 6.95 kB
import { Publication } from '../Publication'; import { AccessibilityProfile } from './Accessibility'; /** * Represents a single accessibility claim */ export interface AccessibilityDisplayStatement { id: string; compactString?: string; descriptiveString?: string; } /** * Represents a collection of related accessibility claims which should be * displayed together in a section */ export interface AccessibilityDisplayField { id: string; title: string; statements: AccessibilityDisplayStatement[]; shouldDisplay: boolean; } /** * Represents the different ways visual adjustments can be made */ export declare enum VisualAdjustments { Unknown = "unknown", Modifiable = "modifiable", Unmodifiable = "unmodifiable" } /** * Represents the different types of non-visual reading */ export declare enum NonvisualReading { NoMetadata = "noMetadata", Readable = "readable", NotFully = "notFully", Unreadable = "unreadable" } /** * Represents the different types of prerecorded audio */ export declare enum PrerecordedAudio { NoMetadata = "noMetadata", Synchronized = "synchronized", AudioOnly = "audioOnly", AudioComplementary = "audioComplementary" } /** * The ways of reading display field is a banner heading that groups * together the following information about how the content facilitates * access. */ export declare class WaysOfReading implements AccessibilityDisplayField { readonly id = "ways-of-reading.title"; readonly title: string; readonly shouldDisplay: boolean; readonly visualAdjustments: VisualAdjustments; readonly nonvisualReading: NonvisualReading; readonly nonvisualReadingAltText: boolean; readonly prerecordedAudio: PrerecordedAudio; readonly statements: AccessibilityDisplayStatement[]; private constructor(); static fromPublication(publication: Publication): WaysOfReading; } /** * Navigation features of the content */ export declare class Navigation implements AccessibilityDisplayField { readonly id = "navigation.title"; readonly title: string; readonly shouldDisplay: boolean; readonly noMetadata: boolean; readonly tableOfContents: boolean; readonly index: boolean; readonly headings: boolean; readonly page: boolean; readonly statements: AccessibilityDisplayStatement[]; private constructor(); static fromPublication(publication: Publication): Navigation; } /** * Represents the different types of rich content */ export declare enum RichContentType { Math = "math", Chemistry = "chemistry", Music = "music", Diagram = "diagram", Chart = "chart", Graph = "graph", Table = "table", Image = "image" } /** * Rich content features of the content */ export declare class RichContent implements AccessibilityDisplayField { readonly id = "rich-content.title"; readonly title: string; readonly shouldDisplay: boolean; readonly noMetadata: boolean; readonly extendedAltTextDescriptions: boolean; readonly mathFormula: boolean; readonly mathFormulaAsMathML: boolean; readonly mathFormulaAsLaTeX: boolean; readonly chemicalFormulaAsMathML: boolean; readonly chemicalFormulaAsLaTeX: boolean; readonly closedCaptions: boolean; readonly openCaptions: boolean; readonly transcript: boolean; readonly statements: AccessibilityDisplayStatement[]; private constructor(); static fromPublication(publication: Publication): RichContent; } /** * Represents additional accessibility information */ export declare class AdditionalInformation implements AccessibilityDisplayField { readonly id = "additional-accessibility-information.title"; readonly title: string; readonly shouldDisplay: boolean; readonly noMetadata: boolean; readonly pageBreakMarkers: boolean; readonly aria: boolean; readonly audioDescriptions: boolean; readonly braille: boolean; readonly rubyAnnotations: boolean; readonly fullRubyAnnotations: boolean; readonly highAudioContrast: boolean; readonly highDisplayContrast: boolean; readonly largePrint: boolean; readonly signLanguage: boolean; readonly tactileGraphics: boolean; readonly tactileObjects: boolean; readonly textToSpeechHinting: boolean; readonly statements: AccessibilityDisplayStatement[]; private constructor(); static fromPublication(publication: Publication): AdditionalInformation; } export declare enum HazardType { yes = "yes", no = "no", unknown = "unknown", noMetadata = "noMetadata" } /** * Represents potential hazards in the content */ export declare class Hazards implements AccessibilityDisplayField { readonly id = "hazards.title"; readonly title: string; readonly shouldDisplay: boolean; readonly noMetadata: boolean; readonly noHazards: boolean; readonly unknown: boolean; readonly flashing: HazardType; readonly motion: HazardType; readonly sound: HazardType; readonly statements: AccessibilityDisplayStatement[]; private constructor(); static fromPublication(publication: Publication): Hazards; } /** * Represents conformance to accessibility standards */ export declare class Conformance implements AccessibilityDisplayField { readonly id = "conformance.title"; readonly title: string; readonly shouldDisplay: boolean; readonly profiles: AccessibilityProfile[]; readonly statements: AccessibilityDisplayStatement[]; private constructor(); static fromPublication(publication: Publication): Conformance; } /** * Represents legal exemptions */ export declare class Legal implements AccessibilityDisplayField { readonly id = "legal-considerations.title"; readonly title: string; readonly shouldDisplay: boolean; readonly exemption: boolean; readonly statements: AccessibilityDisplayStatement[]; private constructor(); static fromPublication(publication: Publication): Legal; } /** * Represents the accessibility summary */ export declare class AccessibilitySummary implements AccessibilityDisplayField { readonly id = "accessibility-summary.title"; readonly title: string; readonly shouldDisplay: boolean; readonly statements: AccessibilityDisplayStatement[]; private constructor(); static fromPublication(publication: Publication): AccessibilitySummary; } /** * Main accessibility metadata display guide */ export declare class AccessibilityMetadataDisplayGuide { readonly waysOfReading: WaysOfReading; readonly navigation: Navigation; readonly richContent: RichContent; readonly additionalInformation: AdditionalInformation; readonly hazards: Hazards; readonly conformance: Conformance; readonly legal: Legal; readonly accessibilitySummary: AccessibilitySummary; readonly fields: AccessibilityDisplayField[]; constructor(publication: Publication); }