get( 'widget_features', array( 'font_size', 'contrast', 'dyslexia_font', 'keyboard_nav' ) ); $accessiq_st_enable_click = get_option( 'accessiq_analytics_enable_click_tracking', true ); $accessiq_st_enable_behavior = get_option( 'accessiq_analytics_enable_behavior_tracking', true ); $accessiq_st_excl_logged_in = get_option( 'accessiq_analytics_exclude_logged_in', false ); $accessiq_st_replace_dash = get_option( 'accessiq_analytics_replace_dashboard', false ); $accessiq_st_retention = (int) get_option( 'accessiq_analytics_data_retention', 90 ); $accessiq_st_widget_color = $accessiq_st_s->get( 'widget_color', '#3CDDC7' ); $accessiq_st_widget_pos = $accessiq_st_s->get( 'widget_position', 'bottom-right' ); $accessiq_st_scan_level = $accessiq_st_s->get( 'scan_level', 'AA' ); // Last accessibility score for sidebar mini card. $accessiq_st_scan_posts = get_posts( array( 'post_type' => ACCESSIQ_SCAN_CPT, 'posts_per_page' => 1, 'orderby' => 'date', 'order' => 'DESC', ) ); $accessiq_st_score = ! empty( $accessiq_st_scan_posts ) ? (int) get_post_meta( $accessiq_st_scan_posts[0]->ID, '_accessiq_score', true ) : 0; // Colour swatches. $accessiq_st_swatches = array( '#3CDDC7', '#3b82f6', '#8b5cf6', '#ec4899', '#ef4444', '#f59e0b', '#10b981', '#64748b', '#ffffff', ); // Position options. $accessiq_st_positions = array( 'top-left' => '↖ Top Left', 'top-right' => '↗ Top Right', 'bottom-left' => '↙ Bottom Left', 'bottom-right' => '↘ Bottom Right', ); // Auto-Fix Engine. $accessiq_autofix_features = array( 'skip_link' => array( 'label' => 'Skip Link', 'desc' => 'Adds a "Skip to content" link as the first focusable element — helps keyboard users bypass navigation.', ), 'focus_outline' => array( 'label' => 'Focus Outline', 'desc' => 'Injects a visible teal focus ring on all focusable elements when theme focus styles are missing.', ), 'html_lang' => array( 'label' => 'HTML Lang Attribute', 'desc' => 'Auto-adds lang attribute to <html> tag using WordPress site language if missing.', ), 'alt_fix' => array( 'label' => 'Decorative Image Alt', 'desc' => 'Sets empty alt="" on images that have no alt attribute, marking them as decorative for screen readers.', ), ); $accessiq_autofix_enabled = $accessiq_st_s->get( 'autofix_features', [] ); // Feature toggles. $accessiq_st_features = array( 'font_size' => array( 'Font Size Control', 'Adjust text size from 80% to 150%' ), 'contrast' => array( 'High Contrast Mode', 'Switch to high-contrast colour scheme' ), 'dyslexia_font' => array( 'Dyslexia-Friendly Font', 'Apply Lexend font for easier reading' ), 'keyboard_nav' => array( 'Keyboard Navigation', 'Highlight keyboard focus indicators' ), 'screen_reader' => array( 'Screen Reader Optimize', 'Optimise page for screen readers' ), 'reading_line' => array( 'Reading Line', 'Teal line that follows cursor to aid reading' ), 'reading_mask' => array( 'Reading Mask', 'Dark overlay with spotlight window to focus reading' ), 'stop_animations' => array( 'Stop Animations', 'Disable all animations and transitions on the page' ), 'big_cursor' => array( 'Big Cursor', 'Replace cursor with larger arrow for easier visibility' ), 'highlight_links' => array( 'Highlight Links', 'Outline all links with teal border for easy identification' ), 'highlight_titles' => array( 'Highlight Titles', 'Add teal left-border accent to all headings h1–h6' ), 'letter_spacing' => array( 'Letter Spacing', 'Increase space between letters for easier reading (0–5px)' ), 'line_height' => array( 'Line Height', 'Increase line spacing: 1x default, 2x comfortable, 3x spacious' ), 'monochrome' => array( 'Monochrome', 'Convert entire page to grayscale for colour-sensitivity users' ), 'saturation' => array( 'Saturation', 'Reduce or boost colour saturation on the page' ), ); // Feature icons — mirrors widget.js ICONS (SVG strings). $accessiq_feat_icons = array( 'font_size' => '', 'letter_spacing' => '', 'line_height' => '', 'dyslexia_font' => '', 'reading_line' => '', 'reading_mask' => '', 'contrast' => '', 'monochrome' => '', 'saturation' => '', 'highlight_links' => '', 'highlight_titles'=> '', 'stop_animations' => '', 'big_cursor' => '', 'keyboard_nav' => '', 'screen_reader' => '', ); // Feature groups — mirrors widget.js GROUPS array. $accessiq_feat_groups = array( array( 'id' => 'text', 'label' => __( 'Text & Reading', 'accessiq' ), 'color' => '#57f1db', 'icon' => '', 'keys' => array( 'font_size', 'letter_spacing', 'line_height', 'dyslexia_font', 'reading_line', 'reading_mask' ), ), array( 'id' => 'color', 'label' => __( 'Color & Vision', 'accessiq' ), 'color' => '#818cf8', 'icon' => '', 'keys' => array( 'contrast', 'monochrome', 'saturation', 'highlight_links', 'highlight_titles' ), ), array( 'id' => 'motion', 'label' => __( 'Motion & Navigation', 'accessiq' ), 'color' => '#fb923c', 'icon' => '', 'keys' => array( 'stop_animations', 'big_cursor', 'keyboard_nav', 'screen_reader' ), ), ); // Profiles. $accessiq_profiles_enabled = (bool) $accessiq_st_s->get( 'profiles_enabled', true ); $accessiq_enabled_profiles = (array) $accessiq_st_s->get( 'enabled_profiles', array( 'vision', 'adhd', 'seizure', 'dyslexia', 'keyboard' ) ); $accessiq_all_profiles = array( 'vision' => array( 'label' => __( 'Vision Impaired', 'accessiq' ), 'desc' => __( 'Large text, high contrast, large cursor', 'accessiq' ), 'icon' => '', 'color' => '#818cf8', 'features' => 'Font Size +3, High Contrast, Large Cursor', ), 'adhd' => array( 'label' => __( 'ADHD Friendly', 'accessiq' ), 'desc' => __( 'Reading line, reading mask, stop animations', 'accessiq' ), 'icon' => '', 'color' => '#fb923c', 'features' => 'Reading Line, Reading Mask, Stop Animations, Line Height ×2', ), 'seizure' => array( 'label' => __( 'Seizure Safe', 'accessiq' ), 'desc' => __( 'Stops animations, enables high contrast', 'accessiq' ), 'icon' => '', 'color' => '#34d399', 'features' => 'Stop Animations, High Contrast', ), 'dyslexia' => array( 'label' => __( 'Dyslexia', 'accessiq' ), 'desc' => __( 'Dyslexia font, letter & line spacing', 'accessiq' ), 'icon' => '', 'color' => '#f472b6', 'features' => 'Dyslexia Font, Letter Spacing +2, Line Height ×2, Font Size +1', ), 'keyboard' => array( 'label' => __( 'Keyboard Only', 'accessiq' ), 'desc' => __( 'Keyboard navigation, focus indicator', 'accessiq' ), 'icon' => '', 'color' => '#57f1db', 'features' => 'Keyboard Navigation, Focus Indicator', ), ); ?>