/**
* Copyright (c) 2025 Ofri Peretz
* Licensed under the MIT License. Use of this source code is governed by the
* MIT license that can be found in the LICENSE file.
*/
/**
* ESLint Rule: alt-text
* Enforce alt text on images with user impact context
* Matches jsx-a11y naming convention
*/
import type { TSESLint } from '@interlace/eslint-devkit';
type MessageIds = 'missingAlt' | 'emptyAlt' | 'addDescriptiveAlt' | 'useEmptyAlt' | 'preferEmptyAltOverPresentation' | 'objectMissingAlternative' | 'areaMissingAlternative' | 'inputImageMissingAlternative';
export interface Options {
/** Allow aria-label as alternative to alt text. Default: false */
allowAriaLabel?: boolean;
/** Allow aria-labelledby as alternative to alt text. Default: false */
allowAriaLabelledby?: boolean;
/**
* Custom component names that should be checked as `` (next/image,
* Chakra Image, MUI Avatar, framework-specific components). Without this
* the rule misses every React project that wraps native img — which is
* most of them. Mirrors the `img: [...]` option in eslint-plugin-jsx-a11y.
*/
img?: string[];
/** Custom components checked as `