Inform users why the data cannot be retrieved and give them a path to resolve it. The error message cannot appear in the tree view because it is not semantically a node in the tree. Instead, the error message should appear in a{' '} - dialog with an optional call-to-action that can resolve the error. + dialog with an optional call-to-action that can resolve the error.
If the user dismisses the dialog, focus should be moved back to the collapsed parent node. If the user clicks a
diff --git a/content/foundations/color.mdx b/content/foundations/color.mdx
index d7879cc1b..826f931a9 100644
--- a/content/foundations/color.mdx
+++ b/content/foundations/color.mdx
@@ -312,7 +312,7 @@ If you work with the [functional colors](#color-roles-recipes), this work has al
### Additional guidance
-Reference [Color considerations](https://primer.style/design/guides/accessibility/color-considerations) for additional information about how color relates to compliance, and other focused documentation topics.
+Reference [Color considerations](https://primer.style/guides/accessibility/color-considerations) for additional information about how color relates to compliance, and other focused documentation topics.
## Color outside the functional system
diff --git a/content/guides/accessibility/color-considerations.mdx b/content/guides/accessibility/color-considerations.mdx
index cbc1801ec..423b2b373 100644
--- a/content/guides/accessibility/color-considerations.mdx
+++ b/content/guides/accessibility/color-considerations.mdx
@@ -1,6 +1,6 @@
---
title: Color considerations
-description: Color is an important aspect of creating accessible, inclusive experiences.
+description: Color is an important aspect of creating accessible, inclusive experiences.
---
import ButtonTextOnly from '../../../src/images/accessibility/color-considerations/button-text-only.png'
@@ -16,11 +16,11 @@ import ThemePicker from '../../../src/images/accessibility/color-considerations/
## Overview
-This guidance covers considerations that can't automatically be integrated into Primer. It supplements [accessibility guidance given in the Color portion of our Foundations documentation](https://primer.style/design/foundations/color#accessibility).
+This guidance covers considerations that can't automatically be integrated into Primer. It supplements [accessibility guidance given in the Color portion of our Foundations documentation](https://primer.style/foundations/color#accessibility).
### Design tokens
-The majority of color contrast considerations should be handled by [Primer color design tokens](https://primer.style/design/foundations/color#how-to-use-color-for-product-ui). Ensure that solutions for the following considerations integrate design tokens as a method of creating accessible experiences.
+The majority of color contrast considerations should be handled by [Primer color design tokens](https://primer.style/foundations/color#how-to-use-color-for-product-ui). Ensure that solutions for the following considerations integrate design tokens as a method of creating accessible experiences.
### Determining contrast
@@ -32,7 +32,7 @@ GitHub is **required** to honor WCAG AA-level compliance. This means that WCAG S
An example level A Success Criterion is [SC 1.4.1 Use of Color](https://www.w3.org/WAI/WCAG21/Understanding/use-of-color.html). An example level AA Success Criterion is [SC 1.4.3 Contrast (Minimum)](https://www.w3.org/WAI/WCAG21/Understanding/contrast-minimum.html).
-## Compliance
+## Compliance
The following guidance is based on one or more **normative** Web Content Accessibility Guidelines (WCAG) success criterion. This means that the guidance is based on objective requirements with implications that affect [MAS-C compliance efforts](https://github.com/github/accessibility/blob/main/docs/measuring-ourselves/microsoft-accessibility-standards.md#microsoft-accessibility-standards-mas), as well as international laws regarding accessibility.
@@ -40,7 +40,7 @@ An example of **the difference between non-normative and normative consideration
### Non-normative choices
-A design could use a dark shade of purple as the background color as a **non-normative aesthetic choice**. Reasons for going with dark purple could be:
+A design could use a dark shade of purple as the background color as a **non-normative aesthetic choice**. Reasons for going with dark purple could be:
- The team prefers how it looks over dark blue, dark green, dark gray, etc.,
- The dark purple is a subtle reference to a brighter purple that is a core part of main palette,
@@ -53,16 +53,16 @@ The **normative requirement** for going with dark purple would be [comparing the
### The APCA
-The [Advanced Accessible Perceptual Contrast Algorithm](https://www.myndex.com/APCA/) (APCA) is a proposal and is **not normative**. In terms of WCAG, and therefore, MAS-C compliance, this means that color contrast is valid **only** if it meets WCAG 2.1 criteria.
+The [Advanced Accessible Perceptual Contrast Algorithm](https://www.myndex.com/APCA/) (APCA) is a proposal and is **not normative**. In terms of WCAG, and therefore, MAS-C compliance, this means that color contrast is valid **only** if it meets WCAG 2.1 criteria.
A color value that is APCA-compliant **might not** be WCAG-compliant until APCA is integrated into WCAG 3.0. WCAG 3.0 is still a work in progress and currently does not have an anticipated release date.
## Visual themes
-GitHub offers two parent themes:
+GitHub offers two parent themes:
-1. Day (light), and
-2. Night (dark).
+1. Day (light), and
+2. Night (dark).
Each parent theme has a default appearance, and then a suite of sub-themes. Sub-themes include considerations for high and low contrast experiences, as well as certain vision conditions.
@@ -72,11 +72,11 @@ It is possible to set GitHub to use a dark sub-theme when a parent Day theme has
### Default theme
-GitHub uses:
+GitHub uses:
- **The default Day (light) theme** when a user visits the site in a logged out state and their operating system is set to light mode.
- **The default Night (dark) theme** when a user visits the site in a logged out state and their operating system is set to dark mode.
-- Whatever theme the user has set in their account settings.
+- Whatever theme the user has set in their account settings.
When not logged in, users are unable to adjust the theme in the [Appearance settings](https://github.com/settings/appearance).
@@ -85,7 +85,7 @@ Because of this, [the default Day **and** Night theme **must both** satisfy WCAG
- Pass color contrast requirements, and
- Have the mechanism for accessing and changing the theme be fully WCAG compliant.
-This is the strongest guarantee we have that:
+This is the strongest guarantee we have that:
1. Content can be perceived—and therefore understood and used—across a wide range of vision conditions, and that
2. The mechanism to adjust GitHub's theme can be operated by the widest range of input modes.
@@ -98,11 +98,11 @@ This allows users to use GitHub in a logged-out state. If a user is logged in, i
Certain themes are specifically designed to create a low contrast effect, notably the Dark Dimmed sub-theme. In this use case, a user selecting this theme is likely **intentionally** expressing a desire for an experience with less visual contrast.
-Like other theme selections, this may be to satisfy:
+Like other theme selections, this may be to satisfy:
-1. Aesthetic sensibilities,
+1. Aesthetic sensibilities,
2. Access needs that are derived from visual conditions that make a higher contrast experience unusable, or
-3. A combination of both.
+3. A combination of both.
In the case of access needs, a higher contrast experience may actually be less accessible for the user.
@@ -112,10 +112,10 @@ GitHub should strive to ensure all themes that don't specifically deal with an i
### High contrast themes, high contrast mode, and forced colors mode
-GitHub offers two high contrast sub-themes:
+GitHub offers two high contrast sub-themes:
-1. Light High Contrast, and
-2. Dark High Contrast.
+1. Light High Contrast, and
+2. Dark High Contrast.
In addition some, but **not all** operating systems offer forced color and high contrast mode experiences.
@@ -129,7 +129,7 @@ High contrast themes can be enabled with or without forced color and high contra
This **is not** provided by GitHub.
-A high contrast mode is a signal to the operating system to increase the visual distinction between different UI elements. On the web, it is a flag that can be targeted with a media query.
+A high contrast mode is a signal to the operating system to increase the visual distinction between different UI elements. On the web, it is a flag that can be targeted with a media query.
The presence of an enabled high contrast mode experience does not guarantee a high contrast web experience is generated—that is an experience the website has to intentionally provide.
@@ -156,7 +156,7 @@ At a high-level:
- Buttons **perform a predetermined action** when pressed. Examples of this are submitting form input, triggering a dialog, or saving user-entered content.
- Inputs **collect information for eventual submission**. Examples of this are single and multiline text-entry areas, checkbox selections/radio choices, and comboboxes.
-Inputs and buttons are combined to form data collection and transmission experiences such as a contact form or a Pull Request submission.
+Inputs and buttons are combined to form data collection and transmission experiences such as a contact form or a Pull Request submission.
### Inputs
@@ -167,14 +167,14 @@ Being able to perceive the boundaries of an input is vital. Meeting WCAG color c
Broadly-speaking, there are four overall considerations for input contrast:
1. Text,
-2. Borders,
+2. Borders,
3. Selected state, and
4. Validation state.
Combined, meeting contrast requirements allow a user to understand:
1. What the input is for,
-2. What area of the input a user can interact with,
+2. What area of the input a user can interact with,
3. What information a user has entered into the input, and
4. What state the input is in.
@@ -218,8 +218,8 @@ Validation state **must not** rely on color as the sole way of determining if an
-- If the validation message is **only text**, it **must** meet a contrast ratio of `4.5:1` for "normal text", or `3:1` for "large text".
-- If the validation message is **only** an icon, it **must** meet a contrast ratio of `3:1`.
+- If the validation message is **only text**, it **must** meet a contrast ratio of `4.5:1` for "normal text", or `3:1` for "large text".
+- If the validation message is **only** an icon, it **must** meet a contrast ratio of `3:1`.
- If the validation message is both **text and an icon**, it **must** meet a contrast ratio of `4.5:1` for "normal text", or `3:1` for "large text". In this context the icon is considered decorative. It is still encouraged to make the icon meet a `3:1` contrast ratio, however.
Contrast for validation state is calculated by the text or icon's computed color value compared to the computed background color the input is placed on.
@@ -244,7 +244,7 @@ Combined, meeting contrast requirements allow a user to understand:
#### Button text contrast
-The visible text portion that communicates the button's purpose **must** meet a contrast ratio of `4.5:1` for "normal text", or `3:1` for "large text".
+The visible text portion that communicates the button's purpose **must** meet a contrast ratio of `4.5:1` for "normal text", or `3:1` for "large text".
@@ -259,7 +259,7 @@ Icons can either be:
##### Functional icons
-If the icon is the sole means of determining a button's purpose, it is considered functional. An example of this is an [IconButton](https://primer.style/design/components/icon-button).
+If the icon is the sole means of determining a button's purpose, it is considered functional. An example of this is an [IconButton](https://primer.style/components/icon-button).
@@ -271,9 +271,9 @@ Beyond the scope of normative WCAG guidance, a further consideration is if the i
Buttons with a text label that **also** have an accompanying icons can consider their icons as decorative. Decorative icons **do not** need to meet WCAG-compliant contrast ratios.
-The reason for this is that the text label communicates the input's purpose, provided its computed color value is WCAG compliant. The icon in this circumstance reinforces the text label.
+The reason for this is that the text label communicates the input's purpose, provided its computed color value is WCAG compliant. The icon in this circumstance reinforces the text label.
-An example of this is a button with both a [trash Octicon](https://primer.style/design/foundations/icons/trash-16) **and** a text label of "Delete".
+An example of this is a button with both a [trash Octicon](https://primer.style/foundations/icons/trash-16) **and** a text label of "Delete".
@@ -289,7 +289,7 @@ Broadly-speaking, buttons **should not** be disabled until form validation crite
If a button needs to be placed in a disabled state, [it **does not** need to be color contrast compliant](https://www.w3.org/WAI/WCAG21/Understanding/non-text-contrast.html#inactive-controls). Other WCAG criteria may affect this treatment, however.
-Beyond the scope of normative WCAG guidance, a further consideration is there are other ways to visually communicate a disabled button, or to design the system in such a way that a button cannot circumstantially be placed in a disabled state.
+Beyond the scope of normative WCAG guidance, a further consideration is there are other ways to visually communicate a disabled button, or to design the system in such a way that a button cannot circumstantially be placed in a disabled state.
While a button's disabled state is exempt from normative compliance, consider that the control may be invisible or unpredictably disappear from the perspective of a user experiencing low vision conditions.
@@ -321,7 +321,7 @@ Resources, articles, and guidelines that informed this documentation:
### Primer
-- [Foundations/Color](https://primer.style/design/foundations/color)
+- [Foundations/Color](https://primer.style/foundations/color)
### WCAG
diff --git a/content/guides/contribute/adding-new-components.mdx b/content/guides/contribute/adding-new-components.mdx
index e31b50511..f0b4ee341 100644
--- a/content/guides/contribute/adding-new-components.mdx
+++ b/content/guides/contribute/adding-new-components.mdx
@@ -23,7 +23,7 @@ For guidance on what makes a pattern worth sharing, check out the documentation:
### 2. Meets basic design quality checks
-Check the design against the criteria in the [pattern design checklist](https://primer.style/design/guides/contribute/design#design-checklist).
+Check the design against the criteria in the [pattern design checklist](https://primer.style/guides/contribute/design#design-checklist).
The criteria in the pattern design checklist ensure your pattern is sturdy enough to be used in production and easily picked up by other designers or engineers. For a more detailed quality check, you can refer to the [product design checklist](https://github.com/github/product-design/blob/main/resources/design-checklist.md) (GitHub staff only).
@@ -32,14 +32,14 @@ The criteria in the pattern design checklist ensure your pattern is sturdy enoug
The most basic documentation your component should have:
- Storybook stories demonstrate all of the pattern's features and options
-- At least meets the [MVP component documentation criteria](https://github.com/primer/design/blob/main/content/components/component-documentation-guidelines/component-MVP-documentation-guidelines.md)
+- At least meets the [MVP component documentation criteria](https://github.com/primer/blob/main/content/components/component-documentation-guidelines/component-MVP-documentation-guidelines.md)
Documentation makes your pattern easier for others to use, and helps the team understand how your pattern could be adopted into Primer.
Resources for writing documentation:
-- [Component documentation criteria](https://github.com/primer/design/blob/main/content/components/component-documentation-guidelines/component-documentation-guidelines.md)
-- [Primer documentation guidelines](https://primer.style/design/guides/contribute/documentation)
+- [Component documentation criteria](https://github.com/primer/blob/main/content/components/component-documentation-guidelines/component-documentation-guidelines.md)
+- [Primer documentation guidelines](https://primer.style/guides/contribute/documentation)
### 4. Is accessible
@@ -55,7 +55,7 @@ Now your component has satisfied enough criteria that it's well on it's way to b
New components should never have the same name as an existing Primer component - especially if it's distinctly different from the existing component. The only exception is if you're introducing the React implementation of a component that has already been created in [Primer ViewComponents](https://github.com/primer/view_components/).
-If you're creating a modified version of an existing component, try to modify it in Primer first. If your changes are rejected by Primer, you can iterate on a "fork" of the component with a new name until it can be upstreamed. See [the flowchart](https://primer.style/design/guides/contribute/handling-new-patterns#process-summarized-as-flowchart) in the "Handling new patterns" guidelines.
+If you're creating a modified version of an existing component, try to modify it in Primer first. If your changes are rejected by Primer, you can iterate on a "fork" of the component with a new name until it can be upstreamed. See [the flowchart](https://primer.style/guides/contribute/handling-new-patterns#process-summarized-as-flowchart) in the "Handling new patterns" guidelines.
## Upstreaming to Primer
@@ -91,4 +91,4 @@ Primer maintainers often lack the bandwidth to do the work for you, but will do
## Adding more general patterns
-If you're pitching design patterns that are lower-level than a component (for example, [data saving patterns](https://primer.style/design/ui-patterns/saving), [focus management utility](https://github.com/primer/behaviors/blob/main/docs/focus-zone.md)), you can create an issue or pull request, share your idea at the Primer patterns weekly working session (only available to GitHub staff), or post to one of Primer's Slack channels (only available to GitHub staff).
+If you're pitching design patterns that are lower-level than a component (for example, [data saving patterns](https://primer.style/ui-patterns/saving), [focus management utility](https://github.com/primer/behaviors/blob/main/docs/focus-zone.md)), you can create an issue or pull request, share your idea at the Primer patterns weekly working session (only available to GitHub staff), or post to one of Primer's Slack channels (only available to GitHub staff).
diff --git a/content/guides/contribute/design.mdx b/content/guides/contribute/design.mdx
index 407b38d15..ef5721f99 100644
--- a/content/guides/contribute/design.mdx
+++ b/content/guides/contribute/design.mdx
@@ -9,7 +9,7 @@ Design flexible, robust, and repeatable patterns that build on a set of solid fo
Primer is the stable trusted layer. At its foundations are typography, color, spacing, and layout.
-➡️ [Primer design guidelines](https://primer.style/design/)
+➡️ [Primer design guidelines](https://primer.style/)
## Upcoming patterns and proposals
@@ -44,8 +44,8 @@ All design patterns for Primer Library consideration should at minimum:
- [ ] **Leverage Primer**: Leverages the foundational building blocks and tools of Primer. Reuses or extends existing patterns and primitives rather than creating overrides
- [ ] Colors, spacing, sizes, and typographic styles from [@primer/primitives](https://github.com/primer/primitives/)
- [ ] All icons come from [@primer/octicons](https://github.com/primer/octicons/)
- - [ ] Considers the criteria in the [responsive design guidelines](https://primer.style/design/foundations/responsive)
+ - [ ] Considers the criteria in the [responsive design guidelines](https://primer.style/foundations/responsive)
- [ ] **Maintain high design quality:** Visually in harmony with GitHub UI and all visual elements are used are in their correct context
- [ ] **Prioritize code as a top concern:** Designed with code quality and component API top of mind
-- [ ] **Be inclusive:** Designs follow Primer [accessibility guidelines](https://primer.style/design/guides/accessibility/guidelines) and considers a global audience
-- [ ] **Have documentation:** Design patterns are [documented](https://primer.style/design/guides/contribute/documentation) for easy adoption
+- [ ] **Be inclusive:** Designs follow Primer [accessibility guidelines](https://primer.style/guides/accessibility/guidelines) and considers a global audience
+- [ ] **Have documentation:** Design patterns are [documented](https://primer.style/guides/contribute/documentation) for easy adoption
diff --git a/content/guides/development/rails/migration-guides/primer-css-tooltipped.mdx b/content/guides/development/rails/migration-guides/primer-css-tooltipped.mdx
index aaf965ecc..8d08a0f7b 100644
--- a/content/guides/development/rails/migration-guides/primer-css-tooltipped.mdx
+++ b/content/guides/development/rails/migration-guides/primer-css-tooltipped.mdx
@@ -12,11 +12,11 @@ Depending on your usecase, there are two potential migration paths.
Tooltips are not visible by default and can easily go unnoticed, so they should only be used as a last resort, and should never be used to convey critical information.
-If `.tooltipped` is being set on a non-interactive element (e.g. ``, ` `), please consider an alternative. There is no way to make a tooltip fully accessible on a non-interactive element. See [Tooltip alternatives](https://primer.style/design/components/tooltip#alternatives-to-tooltips) or consult a designer.
+If `.tooltipped` is being set on a non-interactive element (e.g. ``, ` `), please consider an alternative. There is no way to make a tooltip fully accessible on a non-interactive element. See [Tooltip alternatives](https://primer.style/components/tooltip#alternatives-to-tooltips) or consult a designer.
## Option 2: Migrate to the more accessible PVC tooltip
-If your tooltip is appropriately set on an interactive element, you can migrate to the latest [Tooltip component](https://primer.style/design/components/tooltip/rails/alpha) which has been implemented with accessibility considerations.
+If your tooltip is appropriately set on an interactive element, you can migrate to the latest [Tooltip component](https://primer.style/components/tooltip/rails/alpha) which has been implemented with accessibility considerations.
## Example scenarios
@@ -61,14 +61,14 @@ Flagged code:
In this above example, the information conveyed in this tooltip isn't necessarily critical but supplements the link. If we decide to permanently persist it,we can update the markup like so:
```html
- Primer
+ Primer
A set of guidelines, principles, and patterns for designing and building UI at GitHub.