Skip to content

Conversation

@nishasy
Copy link
Contributor

@nishasy nishasy commented Sep 24, 2025

Summary:

Adding the long alt text warning message to the perseus linter.
This will make it show up in the issues panel, and it will show
the red dot of doom.

Issue: https://khanacademy.atlassian.net/browse/LEMS-3379

Test plan:

pnpm jest packages/perseus-linter/src/rules/image-widget.test.ts

Storybook

  • ?path=/docs/widgets-image-editor-demo--docs#populated-within-editor-page

…ing message about alt text length, and encourage the use of long description if alt text is too long
…ng for long alt text

Adding the long alt text warning message to the perseus linter.
This will make it show up in the issues panel, and it will show
the red dot of doom.

Issue: https://khanacademy.atlassian.net/browse/LEMS-3379

Test plan:
`pnpm jest packages/perseus-linter/src/rules/image-widget.test.ts`

Storybook
- `?path=/docs/widgets-image-editor-demo--docs#populated-within-editor-page`
@github-actions
Copy link
Contributor

github-actions bot commented Sep 24, 2025

🗄️ Schema Change: No Changes ✅

@github-actions
Copy link
Contributor

github-actions bot commented Sep 24, 2025

🛠️ Item Splitting: No Changes ✅

@github-actions
Copy link
Contributor

github-actions bot commented Sep 24, 2025

Size Change: +95 B (+0.02%)

Total Size: 487 kB

Filename Size Change
packages/perseus-linter/dist/es/index.js 8.84 kB +95 B (+1.09%)
ℹ️ View Unchanged
Filename Size
packages/kas/dist/es/index.js 20.8 kB
packages/keypad-context/dist/es/index.js 1 kB
packages/kmath/dist/es/index.js 5.98 kB
packages/math-input/dist/es/index.js 98.5 kB
packages/math-input/dist/es/strings.js 1.61 kB
packages/perseus-core/dist/es/index.item-splitting.js 12.1 kB
packages/perseus-core/dist/es/index.js 25 kB
packages/perseus-editor/dist/es/index.js 96.7 kB
packages/perseus-score/dist/es/index.js 9.25 kB
packages/perseus-utils/dist/es/index.js 403 B
packages/perseus/dist/es/index.js 192 kB
packages/perseus/dist/es/strings.js 7.44 kB
packages/pure-markdown/dist/es/index.js 1.39 kB
packages/simple-markdown/dist/es/index.js 6.71 kB

compressed-size-action

@github-actions
Copy link
Contributor

github-actions bot commented Sep 24, 2025

npm Snapshot: Published

Good news!! We've packaged up the latest commit from this PR (5871511) and published it to npm. You
can install it using the tag PR2921.

Example:

pnpm add @khanacademy/perseus@PR2921

If you are working in Khan Academy's frontend, you can run the below command.

./dev/tools/bump_perseus_version.ts -t PR2921

If you are working in Khan Academy's webapp, you can run the below command.

./dev/tools/bump_perseus_version.js -t PR2921

@nishasy nishasy marked this pull request as ready for review September 24, 2025 22:27
@nishasy
Copy link
Contributor Author

nishasy commented Sep 24, 2025

Putting the video in a new comment rather than the PR description so the checks don't rerun.

Screen.Recording.2025-09-24.at.3.28.17.PM.mov

Copy link
Member

@catandthemachines catandthemachines left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great to me! Thank you @nishasy 😊

@nishasy nishasy changed the title [Image] | (CX) | Add issues panel warning for long alt text Do not land - needs to wait for AX pilot [Image] | (CX) | Add issues panel warning for long alt text Sep 25, 2025
Base automatically changed from image-long-alt-message to main September 26, 2025 00:14
@nishasy nishasy changed the title Do not land - needs to wait for AX pilot [Image] | (CX) | Add issues panel warning for long alt text [Image] | (CX) | Add issues panel warning for long alt text Jan 21, 2026
Copy link
Member

@catandthemachines catandthemachines left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Still looks good and confirmed it works. Thanks @nishasy !

@nishasy nishasy merged commit 29c3c69 into main Jan 21, 2026
11 checks passed
@nishasy nishasy deleted the image-long-alt-issues-panel branch January 21, 2026 23:11
benchristel pushed a commit that referenced this pull request Jan 26, 2026
This PR was opened by the [Changesets release](https://github.com/changesets/action) GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.


# Releases
## @khanacademy/perseus@74.0.0

### Major Changes

-   [#3192](#3192) [`2d57e51583`](2d57e51) Thanks [@benchristel](https://github.com/benchristel)! - Remove the deprecated `KEScore` type.


-   [#3188](#3188) [`ea593fef51`](ea593fe) Thanks [@benchristel](https://github.com/benchristel)! - Remove the deprecated `getUserInput` method from `Renderer`, and delete the `UserInputArray` type.


-   [#3189](#3189) [`3f6e33047d`](3f6e330) Thanks [@benchristel](https://github.com/benchristel)! - Remove the deprecated `getUserInputLegacy()` method of `ServerItemRenderer`. Callers should use `getUserInput()` instead.

### Minor Changes

-   [#3186](#3186) [`4fc881daf8`](4fc881d) Thanks [@ivyolamit](https://github.com/ivyolamit)! - [Radio] Remove getCorrectUserInput from the radio widget to hide the "Static" switch in the widget editor


-   [#3157](#3157) [`9cba5197a2`](9cba519) Thanks [@Myranae](https://github.com/Myranae)! - Convert Expression to functional component and improve testing and typing


-   [#3178](#3178) [`5756410e90`](5756410) Thanks [@mahtabsabet](https://github.com/mahtabsabet)! - Fix JIPT localization for graphie labels

### Patch Changes

-   [#3193](#3193) [`d5b27f0aad`](d5b27f0) Thanks [@Myranae](https://github.com/Myranae)! - Fix console errors from adding and removing radio choices

-   Updated dependencies \[[`2d57e51583`](2d57e51), [`e34c3db786`](e34c3db), [`29c3c697fb`](29c3c69), [`ea593fef51`](ea593fe), [`9cba5197a2`](9cba519), [`779c55b0c3`](779c55b)]:
    -   @khanacademy/perseus-core@23.0.0
    -   @khanacademy/math-input@26.3.10
    -   @khanacademy/perseus-linter@4.6.12
    -   @khanacademy/keypad-context@3.2.30
    -   @khanacademy/kmath@2.2.30
    -   @khanacademy/perseus-score@8.2.6

## @khanacademy/perseus-core@23.0.0

### Major Changes

-   [#3192](#3192) [`2d57e51583`](2d57e51) Thanks [@benchristel](https://github.com/benchristel)! - Remove the deprecated `KEScore` type.


-   [#3188](#3188) [`ea593fef51`](ea593fe) Thanks [@benchristel](https://github.com/benchristel)! - Remove the deprecated `getUserInput` method from `Renderer`, and delete the `UserInputArray` type.

### Minor Changes

-   [#3157](#3157) [`9cba5197a2`](9cba519) Thanks [@Myranae](https://github.com/Myranae)! - Convert Expression to functional component and improve testing and typing

## @khanacademy/perseus-editor@28.10.0

### Minor Changes

-   [#3186](#3186) [`4fc881daf8`](4fc881d) Thanks [@ivyolamit](https://github.com/ivyolamit)! - [Radio] Remove getCorrectUserInput from the radio widget to hide the "Static" switch in the widget editor

### Patch Changes

-   Updated dependencies \[[`d5b27f0aad`](d5b27f0), [`4fc881daf8`](4fc881d), [`2d57e51583`](2d57e51), [`e34c3db786`](e34c3db), [`29c3c697fb`](29c3c69), [`ea593fef51`](ea593fe), [`9cba5197a2`](9cba519), [`3f6e33047d`](3f6e330), [`5756410e90`](5756410), [`779c55b0c3`](779c55b)]:
    -   @khanacademy/perseus@74.0.0
    -   @khanacademy/perseus-core@23.0.0
    -   @khanacademy/math-input@26.3.10
    -   @khanacademy/perseus-linter@4.6.12
    -   @khanacademy/keypad-context@3.2.30
    -   @khanacademy/kmath@2.2.30
    -   @khanacademy/perseus-score@8.2.6

## @khanacademy/keypad-context@3.2.30

### Patch Changes

-   Updated dependencies \[[`2d57e51583`](2d57e51), [`ea593fef51`](ea593fe), [`9cba5197a2`](9cba519)]:
    -   @khanacademy/perseus-core@23.0.0

## @khanacademy/kmath@2.2.30

### Patch Changes

-   Updated dependencies \[[`2d57e51583`](2d57e51), [`ea593fef51`](ea593fe), [`9cba5197a2`](9cba519)]:
    -   @khanacademy/perseus-core@23.0.0

## @khanacademy/math-input@26.3.10

### Patch Changes

-   [#3190](#3190) [`e34c3db786`](e34c3db) Thanks [@mark-fitzgerald](https://github.com/mark-fitzgerald)! - Update Storybook to v9.1.17 (security patch)

-   Updated dependencies \[[`2d57e51583`](2d57e51), [`ea593fef51`](ea593fe), [`9cba5197a2`](9cba519)]:
    -   @khanacademy/perseus-core@23.0.0
    -   @khanacademy/keypad-context@3.2.30

## @khanacademy/perseus-linter@4.6.12

### Patch Changes

-   [#2921](#2921) [`29c3c697fb`](29c3c69) Thanks [@nishasy](https://github.com/nishasy)! - [Image] | (CX) | Add issues panel warning for long alt text


-   [#3183](#3183) [`779c55b0c3`](779c55b) Thanks [@anakaren-rojas](https://github.com/anakaren-rojas)! - adds linter to radio editor - triggered when NOTA and another choice are marked as correct

-   Updated dependencies \[[`2d57e51583`](2d57e51), [`ea593fef51`](ea593fe), [`9cba5197a2`](9cba519)]:
    -   @khanacademy/perseus-core@23.0.0
    -   @khanacademy/kmath@2.2.30

## @khanacademy/perseus-score@8.2.6

### Patch Changes

-   Updated dependencies \[[`2d57e51583`](2d57e51), [`ea593fef51`](ea593fe), [`9cba5197a2`](9cba519)]:
    -   @khanacademy/perseus-core@23.0.0
    -   @khanacademy/kmath@2.2.30

Author: khan-actions-bot

Reviewers: benchristel

Required Reviewers:

Approved By: benchristel

Checks: ⏭️  2 checks have been skipped, ✅ 6 checks were successful

Pull Request URL: #3187
catandthemachines pushed a commit that referenced this pull request Jan 26, 2026
This PR was opened by the [Changesets release](https://github.com/changesets/action) GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.


# Releases
## @khanacademy/perseus@74.0.0

### Major Changes

-   [#3192](#3192) [`2d57e51583`](2d57e51) Thanks [@benchristel](https://github.com/benchristel)! - Remove the deprecated `KEScore` type.


-   [#3188](#3188) [`ea593fef51`](ea593fe) Thanks [@benchristel](https://github.com/benchristel)! - Remove the deprecated `getUserInput` method from `Renderer`, and delete the `UserInputArray` type.


-   [#3189](#3189) [`3f6e33047d`](3f6e330) Thanks [@benchristel](https://github.com/benchristel)! - Remove the deprecated `getUserInputLegacy()` method of `ServerItemRenderer`. Callers should use `getUserInput()` instead.

### Minor Changes

-   [#3186](#3186) [`4fc881daf8`](4fc881d) Thanks [@ivyolamit](https://github.com/ivyolamit)! - [Radio] Remove getCorrectUserInput from the radio widget to hide the "Static" switch in the widget editor


-   [#3157](#3157) [`9cba5197a2`](9cba519) Thanks [@Myranae](https://github.com/Myranae)! - Convert Expression to functional component and improve testing and typing


-   [#3178](#3178) [`5756410e90`](5756410) Thanks [@mahtabsabet](https://github.com/mahtabsabet)! - Fix JIPT localization for graphie labels

### Patch Changes

-   [#3193](#3193) [`d5b27f0aad`](d5b27f0) Thanks [@Myranae](https://github.com/Myranae)! - Fix console errors from adding and removing radio choices

-   Updated dependencies \[[`2d57e51583`](2d57e51), [`e34c3db786`](e34c3db), [`29c3c697fb`](29c3c69), [`ea593fef51`](ea593fe), [`9cba5197a2`](9cba519), [`779c55b0c3`](779c55b)]:
    -   @khanacademy/perseus-core@23.0.0
    -   @khanacademy/math-input@26.3.10
    -   @khanacademy/perseus-linter@4.6.12
    -   @khanacademy/keypad-context@3.2.30
    -   @khanacademy/kmath@2.2.30
    -   @khanacademy/perseus-score@8.2.6

## @khanacademy/perseus-core@23.0.0

### Major Changes

-   [#3192](#3192) [`2d57e51583`](2d57e51) Thanks [@benchristel](https://github.com/benchristel)! - Remove the deprecated `KEScore` type.


-   [#3188](#3188) [`ea593fef51`](ea593fe) Thanks [@benchristel](https://github.com/benchristel)! - Remove the deprecated `getUserInput` method from `Renderer`, and delete the `UserInputArray` type.

### Minor Changes

-   [#3157](#3157) [`9cba5197a2`](9cba519) Thanks [@Myranae](https://github.com/Myranae)! - Convert Expression to functional component and improve testing and typing

## @khanacademy/perseus-editor@28.10.0

### Minor Changes

-   [#3186](#3186) [`4fc881daf8`](4fc881d) Thanks [@ivyolamit](https://github.com/ivyolamit)! - [Radio] Remove getCorrectUserInput from the radio widget to hide the "Static" switch in the widget editor

### Patch Changes

-   Updated dependencies \[[`d5b27f0aad`](d5b27f0), [`4fc881daf8`](4fc881d), [`2d57e51583`](2d57e51), [`e34c3db786`](e34c3db), [`29c3c697fb`](29c3c69), [`ea593fef51`](ea593fe), [`9cba5197a2`](9cba519), [`3f6e33047d`](3f6e330), [`5756410e90`](5756410), [`779c55b0c3`](779c55b)]:
    -   @khanacademy/perseus@74.0.0
    -   @khanacademy/perseus-core@23.0.0
    -   @khanacademy/math-input@26.3.10
    -   @khanacademy/perseus-linter@4.6.12
    -   @khanacademy/keypad-context@3.2.30
    -   @khanacademy/kmath@2.2.30
    -   @khanacademy/perseus-score@8.2.6

## @khanacademy/keypad-context@3.2.30

### Patch Changes

-   Updated dependencies \[[`2d57e51583`](2d57e51), [`ea593fef51`](ea593fe), [`9cba5197a2`](9cba519)]:
    -   @khanacademy/perseus-core@23.0.0

## @khanacademy/kmath@2.2.30

### Patch Changes

-   Updated dependencies \[[`2d57e51583`](2d57e51), [`ea593fef51`](ea593fe), [`9cba5197a2`](9cba519)]:
    -   @khanacademy/perseus-core@23.0.0

## @khanacademy/math-input@26.3.10

### Patch Changes

-   [#3190](#3190) [`e34c3db786`](e34c3db) Thanks [@mark-fitzgerald](https://github.com/mark-fitzgerald)! - Update Storybook to v9.1.17 (security patch)

-   Updated dependencies \[[`2d57e51583`](2d57e51), [`ea593fef51`](ea593fe), [`9cba5197a2`](9cba519)]:
    -   @khanacademy/perseus-core@23.0.0
    -   @khanacademy/keypad-context@3.2.30

## @khanacademy/perseus-linter@4.6.12

### Patch Changes

-   [#2921](#2921) [`29c3c697fb`](29c3c69) Thanks [@nishasy](https://github.com/nishasy)! - [Image] | (CX) | Add issues panel warning for long alt text


-   [#3183](#3183) [`779c55b0c3`](779c55b) Thanks [@anakaren-rojas](https://github.com/anakaren-rojas)! - adds linter to radio editor - triggered when NOTA and another choice are marked as correct

-   Updated dependencies \[[`2d57e51583`](2d57e51), [`ea593fef51`](ea593fe), [`9cba5197a2`](9cba519)]:
    -   @khanacademy/perseus-core@23.0.0
    -   @khanacademy/kmath@2.2.30

## @khanacademy/perseus-score@8.2.6

### Patch Changes

-   Updated dependencies \[[`2d57e51583`](2d57e51), [`ea593fef51`](ea593fe), [`9cba5197a2`](9cba519)]:
    -   @khanacademy/perseus-core@23.0.0
    -   @khanacademy/kmath@2.2.30

Author: khan-actions-bot

Reviewers: benchristel

Required Reviewers:

Approved By: benchristel

Checks: ⏭️  2 checks have been skipped, ✅ 6 checks were successful

Pull Request URL: #3187
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants