| { |
| "$schema": "interface.schema.json", |
| "jsonrpc": "2.0", |
| "info": { |
| "title": "Accessibility API", |
| "class": "Accessibility", |
| "description": "Accessibility JSON-RPC interface" |
| }, |
| "common": { |
| "$ref": "common.json" |
| }, |
| "definitions": { |
| "color": { |
| "description": "Enum for possible closed captioning colors.", |
| "type": "string", |
| "enum": [ |
| "Blue", |
| "Black", |
| "Cyan", |
| "Green", |
| "Magenta", |
| "Red", |
| "White", |
| "Yellow" |
| ] |
| }, |
| "fontfamily": { |
| "description": "Enum for possible closed captioning font families.", |
| "type": "string", |
| "enum": [ |
| "Casual", |
| "Cursive", |
| "MonospaceSansSerif", |
| "MonospaceSerif", |
| "ProportionalSansSerif", |
| "ProportionalSerif", |
| "SmallCapitals" |
| ] |
| }, |
| "edgestyle": { |
| "description": "Enum for possible closed captioning character edge styles.", |
| "type": "string", |
| "enum": [ |
| "None", |
| "Raised", |
| "Depressed", |
| "Uniform", |
| "DropShadow" |
| ] |
| }, |
| "fontsizepercentage": { |
| "description": "Enum for possible closed captioning font size percentages.", |
| "type": "string", |
| "enum": [ |
| "25", |
| "50", |
| "75", |
| "100", |
| "125", |
| "150", |
| "175", |
| "200", |
| "225", |
| "250", |
| "275", |
| "300" |
| ] |
| }, |
| "opacitypercentage": { |
| "description": "Enum for possible closed captioning opacity percentages.", |
| "type": "string", |
| "enum": [ |
| "0", |
| "25", |
| "50", |
| "75", |
| "100" |
| ] |
| }, |
| "CCSettings": { |
| "description": "Platform's settings for closed captions.", |
| "type": "object", |
| "properties": { |
| "isenabled": { |
| "description": "Determines if the user has chosen to enable closed captions on their system.", |
| "type": "boolean" |
| }, |
| "backgroundcolor": { |
| "$ref": "#/definitions/color" |
| }, |
| "backgroundopacity": { |
| "$ref": "#/definitions/opacitypercentage" |
| }, |
| "characteredgestyle": { |
| "$ref": "#/definitions/edgestyle" |
| }, |
| "fontcolor": { |
| "$ref": "#/definitions/color" |
| }, |
| "fontfamily": { |
| "$ref": "#/definitions/fontfamily" |
| }, |
| "fontopacity": { |
| "$ref": "#/definitions/opacitypercentage" |
| }, |
| "fontsize": { |
| "$ref": "#/definitions/fontsizepercentage" |
| }, |
| "windowcolor": { |
| "$ref": "#/definitions/color" |
| }, |
| "windowopacity": { |
| "$ref": "#/definitions/opacitypercentage" |
| } |
| }, |
| "required": [ |
| "isenabled" |
| ] |
| }, |
| "TextDisplaySettings": { |
| "type": "object", |
| "description": "Text display settings", |
| "properties": { |
| "ishighcontrasttextenabled": { |
| "description": "Whether the high contrast text setting is enabled or not.", |
| "type": "boolean" |
| } |
| }, |
| "required": [ |
| "ishighcontrasttextenabled" |
| ] |
| } |
| }, |
| "properties": { |
| "accessibility": { |
| "summary": "Accessibility settings", |
| "params": { |
| "type": "object", |
| "properties": { |
| "closedcaptions": { |
| "$ref": "#/definitions/CCSettings" |
| }, |
| "textdisplay": { |
| "$ref": "#/definitions/TextDisplaySettings" |
| } |
| }, |
| "required": [ |
| ] |
| } |
| } |
| } |
| } |