Raxol.Core.Accessibility.Behaviour behaviour (Raxol v2.0.1)

View Source

Behaviour for accessibility implementations.

Summary

Callbacks

announce(message, level)

@callback announce(message :: String.t(), level :: :verbose | :normal) :: :ok

announce(message, opts, user_preferences_pid_or_name)

@callback announce(
  message :: String.t(),
  opts :: keyword(),
  user_preferences_pid_or_name :: atom() | pid() | nil
) :: :ok

clear_announcements()

@callback clear_announcements() :: :ok

disable(user_preferences_pid_or_name)

@callback disable(user_preferences_pid_or_name :: atom() | pid() | nil) :: :ok

enable(options, user_preferences_pid_or_name)

@callback enable(
  options :: keyword() | map(),
  user_preferences_pid_or_name :: atom() | pid() | nil
) :: :ok

enabled?()

@callback enabled?() :: boolean()

get_component_hint(component_id, hint_level)

@callback get_component_hint(
  component_id :: atom(),
  hint_level :: :basic | :detailed
) :: String.t() | nil

get_component_style(component_type)

@callback get_component_style(component_type :: atom()) :: map()

get_element_metadata(element_id)

@callback get_element_metadata(element_id :: String.t()) :: map() | nil

get_focus_history()

@callback get_focus_history() :: [String.t() | nil]

get_next_announcement(user_preferences_pid_or_name)

@callback get_next_announcement(user_preferences_pid_or_name :: atom() | pid() | nil) ::
  String.t() | nil

get_option(key, default)

@callback get_option(key :: atom(), default :: any()) :: any()

register_component_style(component_type, style)

@callback register_component_style(
  component_type :: atom(),
  style :: map()
) :: :ok

register_element_metadata(element_id, metadata)

@callback register_element_metadata(
  element_id :: String.t(),
  metadata :: map()
) :: :ok

set_large_text(enabled, user_preferences_pid_or_name)

@callback set_large_text(
  enabled :: boolean(),
  user_preferences_pid_or_name :: atom() | pid() | nil
) :: :ok

set_option(key, value)

@callback set_option(key :: atom(), value :: any()) :: :ok

unregister_component_style(component_type)

@callback unregister_component_style(component_type :: atom()) :: :ok

unregister_element_metadata(element_id)

@callback unregister_element_metadata(element_id :: String.t()) :: :ok