Skip to main content

PaneAccessibilityPreferences

Struct PaneAccessibilityPreferences 

Source
pub struct PaneAccessibilityPreferences {
    pub reduced_motion: bool,
    pub high_contrast: bool,
    pub large_target: bool,
}
Expand description

Host-agnostic accessibility preferences for pane interaction (bd-21pbi.5).

These three adaptive modes are applied uniformly across hosts so a pointer-free, low-vision, or touch user gets the same behavior in the terminal and in the browser:

  • Reduced motion collapses affordance micro-animations to instant steps (see PaneAffordanceMotion) — the state change is preserved, the motion is not.
  • High contrast lifts splitter / focus-ring affordance colors to WCAG AAA (applied by the host theme; see ftui_style::PaneAffordanceTheme, which takes this flag).
  • Large target enlarges splitter handles / hit regions for precision and touch ergonomics (see enlarge_target).

Crucially, none of these modes changes the keyboard command vocabulary, the focus graph, or announcements — pane semantics are mode-invariant. They are not inputs to resolve at all; they only affect presentation (motion, color, size). This is what keeps keyboard/focus behavior deterministic and identical regardless of the active accessibility modes.

Fields§

§reduced_motion: bool

Collapse affordance micro-animations to instant steps.

§high_contrast: bool

Use high-contrast (WCAG AAA) affordance colors.

§large_target: bool

Enlarge splitter handles / hit regions.

Implementations§

Source§

impl PaneAccessibilityPreferences

Source

pub const fn none() -> Self

No accessibility modes enabled (equivalent to Default).

Source

pub const fn all() -> Self

All accessibility modes enabled.

Source

pub const fn with_reduced_motion(self, on: bool) -> Self

Set the reduced-motion preference.

Source

pub const fn with_high_contrast(self, on: bool) -> Self

Set the high-contrast preference.

Source

pub const fn with_large_target(self, on: bool) -> Self

Set the large-target preference.

Source

pub const fn any(self) -> bool

Whether any adaptive mode is active.

Source

pub fn affordance_motion(self) -> PaneAffordanceMotion

The affordance micro-animation policy implied by these preferences: the default timing, with motion stepped when reduced-motion is set.

Source

pub fn enlarge_target(self, base: u16) -> u16

The minimum interactive target size (in cells) for a base size.

In large-target mode a base of n cells grows to ~150% (rounded up), with at least a +1-cell bump so even a 1-cell rail becomes easier to hit; otherwise base is returned unchanged. Monotonic non-decreasing in base, and never smaller than base.

Trait Implementations§

Source§

impl Clone for PaneAccessibilityPreferences

Source§

fn clone(&self) -> PaneAccessibilityPreferences

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for PaneAccessibilityPreferences

Source§

impl Debug for PaneAccessibilityPreferences

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for PaneAccessibilityPreferences

Source§

fn default() -> PaneAccessibilityPreferences

Returns the “default value” for a type. Read more
Source§

impl Eq for PaneAccessibilityPreferences

Source§

impl PartialEq for PaneAccessibilityPreferences

Source§

fn eq(&self, other: &PaneAccessibilityPreferences) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl StructuralPartialEq for PaneAccessibilityPreferences

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.