diff --git a/assets/images/help/copilot/copilot-repo-memory-list.png b/assets/images/help/copilot/copilot-repo-memory-list.png new file mode 100644 index 000000000000..2c2799374019 Binary files /dev/null and b/assets/images/help/copilot/copilot-repo-memory-list.png differ diff --git a/assets/images/help/copilot/copilot-user-memory-list.png b/assets/images/help/copilot/copilot-user-memory-list.png new file mode 100644 index 000000000000..a77e090c0621 Binary files /dev/null and b/assets/images/help/copilot/copilot-user-memory-list.png differ diff --git a/content/contributing/writing-for-github-docs/using-yaml-frontmatter.md b/content/contributing/writing-for-github-docs/using-yaml-frontmatter.md index 4d53c34c0e84..12bb95fdc026 100644 --- a/content/contributing/writing-for-github-docs/using-yaml-frontmatter.md +++ b/content/contributing/writing-for-github-docs/using-yaml-frontmatter.md @@ -232,6 +232,7 @@ defaultTool: cli * `id` (required): Unique identifier for the journey. The id only needs to be unique for journeys within a single journey landing page. * `title` (required): Display title for the journey (supports Liquid variables) * `description` (optional): Description of the journey (supports Liquid variables) + * `timeCommitment` (optional): Estimated time to complete the journey (for example, `2-4 hours`). Rendered as a badge next to the article count. * `guides` (required): Array of guide objects that make up this journey. Each guide object has: * `href` (required): Path to the article * `alternativeNextStep` (optional): Custom text to guide users to alternative paths in the journey. Supports Liquid variables and `[AUTOTITLE]`. @@ -245,6 +246,7 @@ journeyTracks: - id: 'getting_started' title: 'Getting started with {% data variables.product.prodname_actions %}' description: 'Learn the basics of GitHub Actions.' + timeCommitment: '2-4 hours' guides: - href: '/actions/quickstart' - href: '/actions/learn-github-actions' diff --git a/content/copilot/concepts/agents/copilot-memory.md b/content/copilot/concepts/agents/copilot-memory.md index 57cc0af4369f..5bc4480c1146 100644 --- a/content/copilot/concepts/agents/copilot-memory.md +++ b/content/copilot/concepts/agents/copilot-memory.md @@ -1,8 +1,8 @@ --- -title: About agentic memory for GitHub Copilot +title: About GitHub Copilot Memory shortTitle: Copilot Memory allowTitleToDifferFromFilename: true -intro: 'Find out how {% data variables.product.prodname_copilot_short %} can store details it has learned about a codebase and use that knowledge for future work in a repository.' +intro: 'Find out how {% data variables.product.prodname_copilot_short %} can store repository-level facts and user-level preferences, and use that knowledge in future work.' product: '{% data reusables.gated-features.copilot-memory %}
Sign up for {% data variables.product.prodname_copilot_short %} {% octicon "link-external" height:16 %}' versions: feature: copilot @@ -12,58 +12,68 @@ category: --- > [!NOTE] -> This feature is currently in {% data variables.release-phases.public_preview %} and is subject to change. +> * This feature is currently in {% data variables.release-phases.public_preview %} and is subject to change. +> * User-level preferences are currently only available for users on a {% data variables.copilot.copilot_pro_short %} or {% data variables.copilot.copilot_pro_plus_short %} plan. ## Introduction -As a developer, when you start working on an existing codebase—perhaps as a new member of the development team—you can read the README for the repository, the coding conventions documentation, and other information to help you understand the repository and how you should work when updating or adding code. This will help you submit good quality pull requests. However, the quality of work you're able to deliver will steadily improve as you work on the codebase and learn more about it. In the same way, by allowing {% data variables.product.prodname_copilot_short %} to build its own understanding of your repository, you can enable it to become increasingly effective over time. +As a developer joining an existing codebase, you typically read the repository's README, coding conventions, and other documentation to understand how the project works and how to contribute. This helps you submit good quality pull requests from the start. Even so, the quality of your work steadily improves as you spend more time in the codebase and learn its nuances. In the same way, allowing {% data variables.product.prodname_copilot_short %} to build its own understanding of your repository enables it to become increasingly effective over time. -Copilot can develop a persistent understanding of a repository by storing "memories." +Copilot can use {% data variables.copilot.copilot_memory %} to store important facts about a repository. For users on a {% data variables.copilot.copilot_pro_short %} or {% data variables.copilot.copilot_pro_plus_short %} plan, it can also persist personal preferences. -Memories are tightly scoped pieces of information about a repository, that are deduced by Copilot as it works on the repository. Memories are: +{% data variables.copilot.copilot_memory %} stores: -* Repository-specific. -* Only created in response to {% data variables.product.prodname_copilot_short %} activity initiated by users who have had {% data variables.copilot.copilot_memory %} enabled. +* **Repository-level facts** + * Facts about a repository, such as coding conventions, architectural decisions, build commands, and project-specific rules. + * Available to all users with access to {% data variables.copilot.copilot_memory %} for that repository. +* **User-level preferences** + * Implied or stated personal preferences about how a user wants to interact with {% data variables.product.prodname_copilot_short %}. + * Available only to that user across {% data variables.product.prodname_copilot_short %} interactions in all repositories. + * Currently only available for users on a {% data variables.copilot.copilot_pro_short %} or {% data variables.copilot.copilot_pro_plus_short %} plan. -Memories created by one part of {% data variables.product.prodname_copilot_short %} can be used by another part of {% data variables.product.prodname_copilot_short %}. So, for example, if {% data variables.copilot.copilot_cloud_agent %} discovers how your repository handles database connections, {% data variables.copilot.copilot_code-review_short %} can later apply that knowledge to spot inconsistent patterns in a pull request it is reviewing. Similarly, if {% data variables.copilot.copilot_code-review_short %} learns about settings that must stay synchronized in two separate files, then {% data variables.copilot.copilot_cloud_agent %} will know that if it alters the settings in one of those files it must update the other file accordingly. +We typically refer to these repository-level facts and user-level preferences as "memories," and they are only created in response to {% data variables.product.prodname_copilot_short %} activity initiated by users who have {% data variables.copilot.copilot_memory %} enabled. + +Facts and preferences captured by one {% data variables.product.prodname_copilot_short %} feature can be used by another. For example, if {% data variables.copilot.copilot_cloud_agent %} discovers how your repository handles database connections, {% data variables.copilot.copilot_code-review_short %} can later apply that knowledge to spot inconsistent patterns in a pull request. Similarly, if {% data variables.copilot.copilot_code-review_short %} learns that certain settings must stay synchronized across two files, {% data variables.copilot.copilot_cloud_agent %} will know to update both files when changing one. ## Benefits of using {% data variables.copilot.copilot_memory %} -AI that is stateless and doesn't retain an understanding of a codebase between separate human/AI interactions, requires you either to repeatedly explain coding conventions and important details about specific code in your prompts, or to create detailed custom instructions files, which you must then maintain. +Stateless AI doesn't retain an understanding of a codebase between interactions. This forces you to either repeatedly explain coding conventions and code-specific details in your prompts, or maintain detailed custom instructions files. {% data variables.copilot.copilot_memory %}: * Reduces the burden of repeatedly providing the same details in your prompts. * Reduces the need for regular, manual maintenance of custom instruction files. -By building and maintaining a persistent, repository-level memory, {% data variables.product.prodname_copilot_short %} develops its own knowledge of your codebase, adapts to your coding requirements, and increases the value it can deliver over time. +By capturing and applying repository-level facts and user-level preferences, {% data variables.product.prodname_copilot_short %} builds its own knowledge of your codebases and personal workflow, adapts to your coding requirements, and delivers more value over time. ## Where is {% data variables.copilot.copilot_memory %} used? -Currently {% data variables.copilot.copilot_memory %} is used by {% data variables.copilot.copilot_cloud_agent %} and {% data variables.copilot.copilot_code-review_short %} when these features are working on pull requests on the {% data variables.product.github %} website, and by {% data variables.copilot.copilot_cli_short %}. Memories are only created and used by {% data variables.product.prodname_copilot_short %} when {% data variables.copilot.copilot_memory %} has been enabled for the user initiating the {% data variables.product.prodname_copilot_short %} operation. +{% data variables.copilot.copilot_memory %} is currently used by {% data variables.copilot.copilot_cloud_agent %}, {% data variables.copilot.copilot_code-review_short %}, and {% data variables.copilot.copilot_cli_short %}. A few feature-specific limits apply: -Agentic memory will be extended to other parts of {% data variables.product.prodname_copilot_short %}, and for personal and organizational scopes, in future releases. +* {% data variables.copilot.copilot_cli_short %} only applies stored facts and preferences for the user who initiated the operation. +* {% data variables.copilot.copilot_code-review_short %} uses repository-level facts only. User-level preferences are not applied during code review. -## How memories are stored, retained and used +## How {% data variables.copilot.copilot_memory %} stores, retains, and uses information -Each memory that {% data variables.product.prodname_copilot_short %} generates is stored with citations. These are references to specific code locations that support the memory. When {% data variables.product.prodname_copilot_short %} finds a memory that relates to the work it is doing, it checks the citations against the current codebase to validate that the information is still accurate and is relevant to the current branch. The memory is only used if it is successfully validated. +**Repository-level facts** are stored with citations pointing to the code that supports them. When {% data variables.product.prodname_copilot_short %} finds a fact relevant to its current work, it checks those citations against the current branch to confirm the information is still accurate. Only validated facts are used. -To avoid stale memories being retained, resulting in outdated information adversely affecting {% data variables.product.prodname_copilot_short %}'s decision making, memories are automatically deleted after 28 days. +{% data variables.product.prodname_copilot_short %} only creates repository-level facts in response to actions by users with write access to the repository who have {% data variables.copilot.copilot_memory %} enabled. Once stored, those facts are available to any user who has access to {% data variables.copilot.copilot_memory %} in that repository, but those facts can only be used in operations on the same repository. This keeps what {% data variables.product.prodname_copilot_short %} learns about a repository scoped to that repository, preserving privacy and security. -If a memory is validated and used by {% data variables.product.prodname_copilot_short %}, then a new memory with the same details may be stored, which increases the longevity of that memory. +**User-level preferences** are stored with citations that may include direct user quotes. When {% data variables.product.prodname_copilot_short %} finds a preference relevant to its current work, it uses its best judgment to confirm the preference still applies. -Memories can be created from code in pull requests that were closed without being merged. However, the validation mechanism ensures that such memories will not affect {% data variables.product.prodname_copilot_short %}'s behavior if there is no substantiating evidence in the current codebase. +{% data variables.product.prodname_copilot_short %} only creates user-level preferences in response to interactions initiated by a specific user, and those preferences are only available in that same user's later interactions. They capture an individual's coding style and workflow patterns, and stay tied to the user who created them. -{% data variables.product.prodname_copilot_short %} only creates memories in a repository in response to actions taken within that repository by people who have write permission for the repository, and for whom {% data variables.copilot.copilot_memory %} has been enabled. Memories are repository scoped, not user scoped, so all memories stored for a repository are available for use in {% data variables.product.prodname_copilot_short %} operations initiated by any user who has access to {% data variables.copilot.copilot_memory %} for that repository. The memories stored for a repository can only be used in {% data variables.product.prodname_copilot_short %} operations on that same repository. In this way, what {% data variables.product.prodname_copilot_short %} learns about a repository stays within that repository, ensuring privacy and security. +To prevent stale information from lingering, any stored fact or preference that goes unused is automatically deleted after 28 days. The 28-day timer may reset whenever {% data variables.product.prodname_copilot_short %} successfully validates and uses an entry. +Facts can also be captured from pull requests that were closed without merging. In those cases, the validation step ensures that {% data variables.product.prodname_copilot_short %}'s behavior is unaffected unless the current codebase still substantiates the information. -If you are the owner of a repository where {% data variables.copilot.copilot_memory %} is being used, you can review and manually delete the memories for that repository. See [AUTOTITLE](/copilot/how-tos/use-copilot-agents/copilot-memory). +Repository owners can review and manually delete the repository-level facts stored for their repository. Users with access to user-level {% data variables.copilot.copilot_memory %} can do the same for their own preferences. For more information, see [AUTOTITLE](/copilot/how-tos/use-copilot-agents/copilot-memory). ## About enabling {% data variables.copilot.copilot_memory %} -The ability to use {% data variables.copilot.copilot_memory %} is granted to users, rather than being enabled for repositories. After {% data variables.copilot.copilot_memory %} has been enabled for a user, {% data variables.product.prodname_copilot_short %} will be able to use agentic memory in any repository in which that person uses {% data variables.product.prodname_copilot %}. +{% data variables.copilot.copilot_memory %} is enabled per user, not per repository. Once a user has it enabled, {% data variables.product.prodname_copilot_short %} can use {% data variables.copilot.copilot_memory %} in any repository where that user works with {% data variables.product.prodname_copilot %}. -For users who have an individual {% data variables.product.prodname_copilot_short %} subscription to a {% data variables.copilot.copilot_pro_short %} or {% data variables.copilot.copilot_pro_plus_short %} plan, {% data variables.copilot.copilot_memory %} is enabled by default. These users can disable {% data variables.copilot.copilot_memory %} in their personal {% data variables.product.prodname_copilot_short %} settings on {% data variables.product.github %}. +For individual {% data variables.copilot.copilot_pro_short %} and {% data variables.copilot.copilot_pro_plus_short %} subscribers, {% data variables.copilot.copilot_memory %} is on by default and can be disabled in personal {% data variables.product.prodname_copilot_short %} settings on {% data variables.product.github %}. -For enterprise and organization-managed {% data variables.product.prodname_copilot_short %} subscriptions, {% data variables.copilot.copilot_memory %} is turned off by default and can be enabled in the enterprise or organization settings. When enabled at the enterprise or organization level, {% data variables.copilot.copilot_memory %} will be available to all organization members who receive a {% data variables.product.prodname_copilot_short %} subscription from that organization. +For enterprise and organization-managed subscriptions, {% data variables.copilot.copilot_memory %} is off by default. An enterprise or organization admin can enable it in their settings, which makes it available to all members who receive a {% data variables.product.prodname_copilot_short %} subscription through that organization. For more information, see [AUTOTITLE](/copilot/how-tos/use-copilot-agents/copilot-memory). diff --git a/content/copilot/how-tos/manage-and-track-spending/prepare-for-your-move-to-usage-based-billing.md b/content/copilot/how-tos/manage-and-track-spending/prepare-for-your-move-to-usage-based-billing.md index 0bbb26952489..2b0e2d9c2911 100644 --- a/content/copilot/how-tos/manage-and-track-spending/prepare-for-your-move-to-usage-based-billing.md +++ b/content/copilot/how-tos/manage-and-track-spending/prepare-for-your-move-to-usage-based-billing.md @@ -7,7 +7,7 @@ versions: feature: copilot product: '{% data variables.copilot.copilot_pro_short %} or {% data variables.copilot.copilot_pro_plus_short %}' contentType: how-tos -category: +category: - Configure Copilot --- @@ -43,7 +43,31 @@ Your data stays in your browser; nothing is uploaded to a server. * **Understand what consumes credits**. {% data variables.copilot.copilot_chat_short %}, {% data variables.copilot.copilot_cli_short %}, {% data variables.copilot.copilot_cloud_agent %}, {% data variables.copilot.copilot_spaces %}, {% data variables.product.prodname_spark_short %}, and third-party coding agents consume {% data variables.product.prodname_ai_credits_short %}. Code completions and {% data variables.copilot.next_edit_suggestions %} remain unlimited for all paid plans. * **Consider your model usage**. Frontier models consume more credits per interaction than lightweight models. Switching to a lighter model for routine tasks can stretch your included usage further. + + +## Update your IDE, client, and extension + +For the best experience with usage-based billing, update your IDE, client, and {% data variables.product.prodname_copilot_short %} extension to at least the versions listed below. + +> [!NOTE] +> Older versions will continue to work, but may display incorrect model pricing, inaccurate usage information, or outdated billing terminology. Usage alert notifications may also not appear as expected. + +| IDE, client, or extension | Minimum version | +| --- | --- | +| {% data variables.product.prodname_vscode_shortname %} | 1.120 | +| {% data variables.product.prodname_vs %} 2022 (17.x) | 17.14.33 | +| {% data variables.product.prodname_vs %} 2025 (18.x) | 18.6.0 | +| SQL Server Management Studio | 22.6 | +| JetBrains IDEs (plugin) | 1.9.1 | +| Eclipse (plugin) | 0.18.0 | +| Xcode (extension) | 0.50.0 | +| {% data variables.copilot.copilot_cli_short %} | 1.0.48 | + +We recommend keeping your IDE, client, and {% data variables.product.prodname_copilot_short %} extensions on the latest available stable version. For information on configuring automatic updates, see [AUTOTITLE](/copilot/how-tos/configure-personal-settings/configure-in-ide). To update {% data variables.copilot.copilot_cli_short %}, see [AUTOTITLE](/copilot/how-tos/copilot-cli/set-up-copilot-cli/install-copilot-cli). + + + ## Further reading * [AUTOTITLE](/copilot/concepts/billing/usage-based-billing-for-individuals) -* [AUTOTITLE](/copilot/reference/copilot-billing/models-and-pricing) \ No newline at end of file +* [AUTOTITLE](/copilot/reference/copilot-billing/models-and-pricing) diff --git a/content/copilot/how-tos/use-copilot-agents/copilot-memory.md b/content/copilot/how-tos/use-copilot-agents/copilot-memory.md index 3e95891fb99a..1cd0e13672f0 100644 --- a/content/copilot/how-tos/use-copilot-agents/copilot-memory.md +++ b/content/copilot/how-tos/use-copilot-agents/copilot-memory.md @@ -1,7 +1,7 @@ --- title: Managing and curating Copilot Memory shortTitle: Copilot Memory -intro: Learn how to manage agentic memory settings, and how to view and delete stored memories. +intro: Learn how to manage {% data variables.copilot.copilot_memory %} settings, and how to view and delete stored repository-level facts and user-level preferences. product: '{% data reusables.gated-features.copilot-memory %}
Sign up for {% data variables.product.prodname_copilot_short %} {% octicon "link-external" height:16 %}' versions: feature: copilot @@ -11,9 +11,10 @@ category: --- > [!NOTE] -> This feature is currently in {% data variables.release-phases.public_preview %} and is subject to change. +> * This feature is currently in {% data variables.release-phases.public_preview %} and is subject to change. +> * User-level preferences are currently only available for users on a {% data variables.copilot.copilot_pro_short %} or {% data variables.copilot.copilot_pro_plus_short %} plan. -{% data variables.copilot.copilot_memory %} allows {% data variables.product.prodname_copilot_short %} to learn about your codebase, helping {% data variables.copilot.copilot_cloud_agent %}, {% data variables.copilot.copilot_code-review_short %}, and {% data variables.copilot.copilot_cli_short %} to work more effectively in a repository. +{% data variables.copilot.copilot_memory %} lets {% data variables.product.prodname_copilot_short %} learn about your codebase and your personal preferences, helping {% data variables.copilot.copilot_cloud_agent %}, {% data variables.copilot.copilot_code-review_short %}, and {% data variables.copilot.copilot_cli_short %} work more effectively. For more information, see [AUTOTITLE](/copilot/concepts/agents/copilot-memory). @@ -21,7 +22,7 @@ For more information, see [AUTOTITLE](/copilot/concepts/agents/copilot-memory). For users with an individual {% data variables.product.prodname_copilot_short %} subscription to {% data variables.copilot.copilot_pro_short %} or {% data variables.copilot.copilot_pro_plus_short %}, {% data variables.copilot.copilot_memory %} is enabled by default. These users can manage the setting in their personal {% data variables.product.prodname_copilot_short %} settings. -For enterprise and organization-managed {% data variables.product.prodname_copilot_short %} subscriptions, {% data variables.copilot.copilot_memory %} is turned off by default and must be enabled in the enterprise or organization settings. +For enterprise and organization-managed {% data variables.product.prodname_copilot_short %} subscriptions, {% data variables.copilot.copilot_memory %} is off by default and must be enabled in the enterprise or organization settings. Users who receive {% data variables.product.prodname_copilot_short %} from an organization must have {% data variables.copilot.copilot_memory %} enabled in the organization or enterprise settings. @@ -57,7 +58,9 @@ If the organization belongs to an enterprise, the ability for organization owner ### Managing {% data variables.copilot.copilot_memory %} for an individual user -If you have an individual {% data variables.product.prodname_copilot_short %} subscription, from a {% data variables.copilot.copilot_pro_short %} or {% data variables.copilot.copilot_pro_plus_short %} plan, {% data variables.copilot.copilot_memory %} is enabled by default. You can disable or re-enable {% data variables.copilot.copilot_memory %} in your personal {% data variables.product.prodname_copilot_short %} settings on {% data variables.product.github %}. +If you have an individual {% data variables.copilot.copilot_pro_short %} or {% data variables.copilot.copilot_pro_plus_short %} subscription, {% data variables.copilot.copilot_memory %} is enabled by default. + +Regardless of your plan, you can disable or re-enable it at any time in your personal {% data variables.product.prodname_copilot_short %} settings on {% data variables.product.github %}. When enabled, {% data variables.copilot.copilot_memory %} will be used in any repository in which you use {% data variables.copilot.copilot_cloud_agent %}, {% data variables.copilot.copilot_code-review_short %}, or {% data variables.copilot.copilot_cli_short %}. @@ -65,28 +68,37 @@ When enabled, {% data variables.copilot.copilot_memory %} will be used in any re 1. Under "Features", scroll down to the setting for **{% data variables.copilot.copilot_memory %}**. 1. Click the dropdown button and select **Enabled** or **Disabled**. -## Viewing and deleting memories +## Viewing and deleting repository-level facts and user-level preferences -As an owner of a repository in which {% data variables.copilot.copilot_memory %} is in use, you can review the currently stored memories. If you think any are inappropriate, misleading, or incorrect you can delete them. +As an owner of a repository in which {% data variables.copilot.copilot_memory %} is in use, you can review the currently stored repository-level facts. If you think any are inappropriate, misleading, or incorrect you can delete them. -### Viewing {% data variables.product.prodname_copilot_short %}'s memories for a repository +### Viewing {% data variables.product.prodname_copilot_short %}'s repository-level facts {% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-settings %} 1. In the "Code & automation" section of the sidebar, click {% data variables.product.prodname_copilot_short %} then **Memory**. - A list of stored memories is displayed in chronological order, with the most recently stored memory at the top of the list. + A list of the repository-level facts currently stored for this repository is displayed. + + ![Screenshot of the "{% data variables.copilot.copilot_memory %}" list showing an example set of repository-level facts.](/assets/images/help/copilot/copilot-repo-memory-list.png) + +### Viewing {% data variables.product.prodname_copilot_short %}'s user-level preferences + +{% data reusables.user-settings.copilot-settings %} +1. In the {% data variables.product.prodname_copilot_short %}, click **Memory**. + + A list of your stored user-level preferences is displayed. - ![Screenshot of the "Memories" list showing an example set of memories.](/assets/images/help/copilot/copilot-memory-list.png) + ![Screenshot of the "{% data variables.copilot.copilot_memory %}" list showing an example set of user-level preferences.](/assets/images/help/copilot/copilot-user-memory-list.png) -### Deleting a memory +### Deleting a repository-level fact or user-level preference -You can delete a memory if you don't want it to be used by {% data variables.product.prodname_copilot_short %}. It's worth noting, however, that {% data variables.product.prodname_copilot_short %} validates memories before they are used, which ensures that a memory is only used if the code that caused it to be generated still exists in the codebase. +You can delete a repository-level fact or user-level preference at any time. Note that {% data variables.product.prodname_copilot_short %} already validates facts and preferences before using them, so an entry is only applied if the code that produced it still exists in the codebase. -1. View the memories for a repository. -1. Click the trashcan icon to the right of a memory you want to delete. +1. View the repository-level facts or user-level preferences. +1. Click the trashcan icon to the right of a fact or preference you want to delete. - Alternatively, use the checkboxes to select multiple memories, then click **Delete**. + Alternatively, use the checkboxes to select multiple entries, then click **Delete**. > [!NOTE] -> Memories are automatically deleted after 28 days to avoid stale information adversely affecting agentic decision making. +> Repository-level facts and user-level preferences are automatically deleted after 28 days to prevent stale information from influencing {% data variables.product.prodname_copilot_short %}'s decisions. diff --git a/src/events/components/Survey.module.scss b/src/events/components/Survey.module.scss index a5e4026d92a6..2b3619b80e2f 100644 --- a/src/events/components/Survey.module.scss +++ b/src/events/components/Survey.module.scss @@ -14,3 +14,12 @@ text-decoration: underline; } } + +// Override Primer's form-control border color to meet WCAG 1.4.11 Non-Text Contrast +// (requires 3:1 contrast ratio against adjacent colors). +// The default Primer light-theme border (#d0d7de / #dce1e6) has only ~1.3–1.7:1 contrast +// against a white background. Using --fgColor-muted provides sufficient contrast in all themes. +// See: https://github.com/github/accessibility-audits/issues/16368 +.accessibleBorder { + border-color: var(--fgColor-muted, #57606a) !important; +} diff --git a/src/events/components/Survey.tsx b/src/events/components/Survey.tsx index 447740d3477b..dfc9e9d9860d 100644 --- a/src/events/components/Survey.tsx +++ b/src/events/components/Survey.tsx @@ -187,7 +187,7 @@ export const Survey = () => { {t`additional_feedback`}