'ai_alt_text', 'ai_feature_automatic_alt_text_on_upload' => 'ai_alt_text', 'ai_feature_automatic_daily_alt_text' => 'ai_alt_text', 'ai_feature_description_level' => 'ai_alt_text', 'ai_feature_language' => 'ai_alt_text', ]; if (isset($aliases[$key])) { $state = a11ybridge_feature_state($aliases[$key]); } } } else { $state = ''; } } if ($state === 'coming_soon' || $state === 'experimental') { $label = (is_string($badge_label) && $badge_label !== '') ? $badge_label : __('Coming soon', 'a11ybridge'); return [ // Can be echoed into to hard-disable it. 'attrs' => ' disabled="disabled" aria-disabled="true" ', 'class' => 'a11y-disabled', 'badge' => sprintf('%s', esc_html($label)), ]; } return [ 'attrs' => '', 'class' => '', 'badge' => '', ]; } // In WP.org build we don't output lock assets separately. // Styles are enqueued via wp_enqueue + inline CSS. function a11ybridge_print_lock_assets() { // no-op }