From eccd63b793a088a690f4f4b9312e20e33e4fac28 Mon Sep 17 00:00:00 2001
From: Erin Donehoo <105813956+edonehoo@users.noreply.github.com>
Date: Mon, 23 Mar 2026 11:23:16 -0400
Subject: [PATCH 1/5] docs(theming): Adds details around new unified theme.
---
.../styles/theming/theming.md | 30 ++++++++++++++++++-
1 file changed, 29 insertions(+), 1 deletion(-)
diff --git a/packages/documentation-site/patternfly-docs/content/foundations-and-styles/styles/theming/theming.md b/packages/documentation-site/patternfly-docs/content/foundations-and-styles/styles/theming/theming.md
index 8baa660e31..7aae718ef6 100644
--- a/packages/documentation-site/patternfly-docs/content/foundations-and-styles/styles/theming/theming.md
+++ b/packages/documentation-site/patternfly-docs/content/foundations-and-styles/styles/theming/theming.md
@@ -14,7 +14,35 @@ Theming is supported in PatternFly through [our design token system](/foundation
## PatternFly themes
-The following themes are currently supported across PatternFly components and are designed to meet specific [WCAG accessibility standards](https://www.w3.org/WAI/standards-guidelines/wcag/). You can explore our different themes on our website by toggling your display preferences in our site's masthead dropdown.
+PatternFly supports **light**, **dark**, and **high contrast** display modes across components. Those modes are designed to meet specific [WCAG accessibility standards](https://www.w3.org/WAI/standards-guidelines/wcag/). You can explore them on this site by toggling display preferences in the masthead.
+
+You can also choose between two **theme families**—**default** and **unified**—that layer on top of light, dark, and high contrast. Both families receive the same foundational token and interaction updates described below; the unified theme adds RHDS-aligned styling and enables glass contrast mode by default.
+
+### Default and unified theme families
+
+- **Default** — The standard PatternFly theme used by most products today.
+- **Unified** — A theme aligned with the [Red Hat Design System (RHDS)](https://ux.redhat.com/) for closer visual consistency with other Red Hat experiences. For RHDS release information, roadmap, and design guidance, see the resources published on [ux.redhat.com](https://ux.redhat.com/) *(update this link to a specific release-notes or changelog page when available)*.
+
+#### Updates in both default and unified themes
+
+The following changes apply in **both** the default PatternFly theme and the unified theme (across light, dark, and high contrast modes where applicable):
+
+- **Control borders** — A new **control border** token improves non-text contrast and makes control boundaries easier to perceive for accessibility.
+- **Cards** — Cards use **subtle borders and shadows** to define surfaces without heavy chrome.
+- **Navigation** — Selected navigation items show an **accent mark** so the current location is clearer.
+- **Expand and collapse** — **Expand/collapse** interactions use an updated **up/down** affordance for a more consistent vertical pattern.
+
+### Unified theme
+
+The unified theme is optional: opt in when your product should align with RHDS visuals and token choices. It supports the same **light**, **dark**, and **high contrast** modes as the default theme.
+
+**Glass contrast mode** is enabled **by default** in the unified theme. Glass adjusts surfaces, layering, and contrast for a distinct glass-like treatment. For implementation details, see [Glass contrast mode](#glass-contrast-mode).
+
+### Glass contrast mode
+
+**Glass contrast mode** is a visual mode that works alongside light, dark, and high contrast. The **unified** theme turns it on by default; you can also adopt glass in the **default** theme when your design system allows it.
+
+Use glass when you want the updated page treatments that depend on it (for example, background imagery, banded mastheads, and floating side navigation in traditional layouts). A dedicated glass / unified theming handbook will be linked here when it is available.
### Light mode
From aad3e2087885ee7a30d0744d1daf5915581ba0ae Mon Sep 17 00:00:00 2001
From: Erin Donehoo <105813956+edonehoo@users.noreply.github.com>
Date: Tue, 24 Mar 2026 12:45:08 -0400
Subject: [PATCH 2/5] docs(theming): Add new theming details.
---
.../styles/theming/theming.md | 97 +++++++++++--------
1 file changed, 58 insertions(+), 39 deletions(-)
diff --git a/packages/documentation-site/patternfly-docs/content/foundations-and-styles/styles/theming/theming.md b/packages/documentation-site/patternfly-docs/content/foundations-and-styles/styles/theming/theming.md
index 7aae718ef6..5ae7f27d7d 100644
--- a/packages/documentation-site/patternfly-docs/content/foundations-and-styles/styles/theming/theming.md
+++ b/packages/documentation-site/patternfly-docs/content/foundations-and-styles/styles/theming/theming.md
@@ -8,45 +8,48 @@ import '../../../components/components.css'
import { Alert, AlertActionLink} from '@patternfly/react-core';
import ExternalLinkAltIcon from '@patternfly/react-icons/dist/esm/icons/external-link-alt-icon';
-A **theme** applies a specific visual style to all UI components in order to create a unique, cohesive, and purposeful look. The use of theming can provide more flexibility for user preferences, as well as different options for accessibility needs.
+A **theme** applies specific visual styles to UI components to create a unique, cohesive, and purposeful look. Our theming architecture leverages [our design token system](/foundations-and-styles/design-tokens/overview) to flexibly support different brand identities, user preferences, and accessibility needs.
-Theming is supported in PatternFly through [our design token system](/foundations-and-styles/design-tokens/overview), which was intentionally structured so that sets of tokens can be adjusted together to create alternate UI styles. By reassigning token values, the fonts, spacing, shadows, and borders in a UI can be changed together to create a theme. This system has enabled us to create multiple PatternFly themes, while also supporting the ability for you to create custom themes.
+## Theming architecture
-## PatternFly themes
+We utilize a tiered theming architecture to consistently manage the appearance of UIs:
+- **Theme:** Defines the foundational brand appearance, including core colors, border radii, iconography, and assets.
+- **Color scheme:** Controls the brightness and palette shifts between light and dark environments.
+- **Contrast mode:** Adjusts the style of surfaces and elements for specific aesthetic or accessibility needs.
-PatternFly supports **light**, **dark**, and **high contrast** display modes across components. Those modes are designed to meet specific [WCAG accessibility standards](https://www.w3.org/WAI/standards-guidelines/wcag/). You can explore them on this site by toggling display preferences in the masthead.
+## Themes
-You can also choose between two **theme families**—**default** and **unified**—that layer on top of light, dark, and high contrast. Both families receive the same foundational token and interaction updates described below; the unified theme adds RHDS-aligned styling and enables glass contrast mode by default.
+We support 2 pre-built themes in PatternFly. While the visual identity of each theme differs, they share the same underlying interaction patterns and accessibility standards.
-### Default and unified theme families
+### Default theme
-- **Default** — The standard PatternFly theme used by most products today.
-- **Unified** — A theme aligned with the [Red Hat Design System (RHDS)](https://ux.redhat.com/) for closer visual consistency with other Red Hat experiences. For RHDS release information, roadmap, and design guidance, see the resources published on [ux.redhat.com](https://ux.redhat.com/) *(update this link to a specific release-notes or changelog page when available)*.
+The Default theme creates the standard, open source PatternFly experience. It is characterized by blue branding, modern, square borders, and simple icons.
-#### Updates in both default and unified themes
+### Unified theme
-The following changes apply in **both** the default PatternFly theme and the unified theme (across light, dark, and high contrast modes where applicable):
+The Unified theme is designed for products within the Red Hat portfolio, providing closer alignment with the [Red Hat Design System](https://ux.redhat.com/). It is characterized by red accent colors, smooth, rounded borderds, Red Hat icons, and glass contrast mode. Core interactive elements, such as primary buttons, continue to use blue for usability.
-- **Control borders** — A new **control border** token improves non-text contrast and makes control boundaries easier to perceive for accessibility.
-- **Cards** — Cards use **subtle borders and shadows** to define surfaces without heavy chrome.
-- **Navigation** — Selected navigation items show an **accent mark** so the current location is clearer.
-- **Expand and collapse** — **Expand/collapse** interactions use an updated **up/down** affordance for a more consistent vertical pattern.
+For implementation guidance, refer to the Unified theme handbook.
-### Unified theme
+For a detailed look at the design philosophy and research behind the Unified theme, check out our Medium article: Title.
-The unified theme is optional: opt in when your product should align with RHDS visuals and token choices. It supports the same **light**, **dark**, and **high contrast** modes as the default theme.
+### Custom themes
-**Glass contrast mode** is enabled **by default** in the unified theme. Glass adjusts surfaces, layering, and contrast for a distinct glass-like treatment. For implementation details, see [Glass contrast mode](#glass-contrast-mode).
+To branch off of our themes and create your own, you can identify the design tokens you'd like to adjust on our [all tokens page](/foundations-and-styles/design-tokens/all-design-tokens) and provide new values to use within your application.
-### Glass contrast mode
+#### When to customize a theme
-**Glass contrast mode** is a visual mode that works alongside light, dark, and high contrast. The **unified** theme turns it on by default; you can also adopt glass in the **default** theme when your design system allows it.
+There are a couple of instances when you might want to adjust an existing PatternFly theme:
+- One-off adjustments, like changing a single button color, spacer, or font size, when intentional deviation is needed across your product.
+- Application-wide adjustments, like changing all button colors and font sizes to adjust the overall brand identity of your product.
-Use glass when you want the updated page treatments that depend on it (for example, background imagery, banded mastheads, and floating side navigation in traditional layouts). A dedicated glass / unified theming handbook will be linked here when it is available.
+## Color schemes
### Light mode
-Generally, light mode is the default appearance of PatternFly. In this mode, dark text is presented on light backgrounds to meet a [text contrast ratio of at least 4.5:1](https://www.w3.org/WAI/WCAG22/quickref/?versions=2.1#contrast-minimum), while colors for other UI elements meet a [non-text contrast ratio of at least 3:1](https://www.w3.org/WAI/WCAG22/quickref/?versions=2.1#non-text-contrast). Some users might find it easier to read text on light screens, while others might simply prefer the appearance.
+Light mode is the standard appearance for most web environments.
+
+Light mode places dark text on light backgrounds, while maintaining a [text contrast ratio of at least 4.5:1](https://www.w3.org/WAI/WCAG22/quickref/?versions=2.1#contrast-minimum) and a [non-text contrast ratio of at least 3:1](https://www.w3.org/WAI/WCAG22/quickref/?versions=2.1#non-text-contrast). Some users might find light screens easier to read, while others might simply prefer the appearance.

@@ -54,42 +57,54 @@ Generally, light mode is the default appearance of PatternFly. In this mode, dar
### Dark mode
-In dark mode, light text is presented on dark backgrounds backgrounds, and our color palette adapts to maintain a [text contrast ratio of at least 4.5:1](https://www.w3.org/WAI/WCAG22/quickref/?versions=2.1#contrast-minimum) and [non-text contrast ratio of at least 3:1](https://www.w3.org/WAI/WCAG22/quickref/?versions=2.1#non-text-contrast). Some users might prefer dark mode for aesthetics, while others find it to be easier on the eyes and less straining for those with light sensitivities.
+Dark mode adapts color palettes for light-sensitive users or low-light environments. It presents light text on dark backgrounds backgrounds while maintaining the same accessibility ratios as light mode. Some users might prefer dark mode for aesthetics, while others find it to be easier on the eyes and less straining for those with light sensitivities.
-For development guidance, refer to the [dark theme handbook](/foundations-and-styles/theming/dark-theme-handbook).
+For implementation guidance, refer to the [dark theme handbook](/foundations-and-styles/theming/dark-theme-handbook).

-### High contrast mode
+## Contrast modes
-
- High contrast mode is still under development and will continue to evolve and be enabled for charts and extensions. This beta allows you to preview our progress.
-
+Contrast modes adjust the surface treatment of UI elements across both color schemes. They are mutually exclusive and can't be applied simultaneously.
-High contrast mode adjusts our default colors to meet an [enhanced contrast ratio of at least 7:1](https://www.w3.org/WAI/WCAG21/Understanding/contrast-enhanced.html), making it more suitable for users who require higher contrast between UI elements. By using wider border strokes and adjusted fill colors, high contrast mode creates more visual distinction and clarity between interactive elements.
+### High contrast
-In high contrast mode, distinct borders are also added to components to ensure that their boundaries are clearly defined without requiring users to rely on subtle background colors as a visual cue.
+High contrast mode is focused on improving accessibility for users who require more clarity and higher contrast between UI elements. Turned on by user preference, high contrast mode adjusts border strokes and colors to meet an [enhanced contrast ratio of at least 7:1](https://www.w3.org/WAI/WCAG21/Understanding/contrast-enhanced.html).
-For development guidance, refer to the [high contrast handbook](/foundations-and-styles/theming/high-contrast-handbook).
+**Note:** Activating high contrast mode will override and disable glass mode to ensure all boundaries and text meet strict accessibility requirements.
+
+For implementation guidance, refer to the [high contrast handbook](/foundations-and-styles/theming/high-contrast-handbook).

-## Custom themes
+### Glass
-To branch off of our themes and create your own, you can identify the design tokens you'd like to adjust on our [all tokens page](/foundations-and-styles/design-tokens/all-design-tokens) and provide new values to use within your application.
+Glass mode introduces transparency and depth to the UI, creating a layered visual effect. It is enabled in the Unified theme by default, but can also be manually enabled in the Default theme.
-### When to customize a theme
+When glass is enabled, the following changes will apply:
+- **Transparency:** Container backgrounds will become more transparent, allowing the content below to subtly show through.
+- **Background image:** A pre-approved background image will fill the page body. Product teams must work with the Brand team ensure these images maintain accessibility compliance behind UI elements.
+- **Layout changes:** Layout variations, including the banded masthead and floating side navigation.
-There are a couple of instances when you might want to adjust an existing PatternFly theme:
-- One-off adjustments, like changing a single button color, spacer, or font size, when intentional deviation is needed across your product.
-- Application-wide adjustments, like changing all button colors and font sizes to adjust the overall brand identity of your product.
+For implementation guidance, refer to the glass handbook.
+
+## Feature compatibility
+
+The following table outlines the availability and compatibility of PatternFly features across themes.
+
+| Feature | Default theme | Unified theme |
+| --- | --- | --- |
+| Accent color | Blue | Red |
+| Interactive element colors | Blue | Blue |
+| Border radius shape | Square | Pill |
+| Default contrast mode | Standard | Glass |
+| Background image | Optional (Manual) | Required (with glass mode) |
+| Branded icons | Optional (Manual) | Default
+| High contrast support | Yes | Yes |
## Using themes in Figma
@@ -97,6 +112,10 @@ Our Figma libraries fully support theming. Designers can create a single design
The standard light PatternFly theme will be applied to components by default. If you want your mockups to use our dark or high contrast themes, you will need to adjust the following settings in Figma.
+### Unified theme
+
+To swap between the Default and Unified themes, adjust the themevariable mode. The Unified mode will automatically apply the red accents, pill shapes, and glass treatment.
+
### Dark mode
To swap your components to our standard dark mode, change the Semantic Color Tokens variable mode to be "Dark":
From 1f44f70f26b8e35d6123791676ccaa837a7db61b Mon Sep 17 00:00:00 2001
From: Erin Donehoo <105813956+edonehoo@users.noreply.github.com>
Date: Fri, 27 Mar 2026 13:42:38 -0400
Subject: [PATCH 3/5] docs(theming): Update theming docs.
---
.../styles/theming/theming.md | 49 +++++++++----------
1 file changed, 24 insertions(+), 25 deletions(-)
diff --git a/packages/documentation-site/patternfly-docs/content/foundations-and-styles/styles/theming/theming.md b/packages/documentation-site/patternfly-docs/content/foundations-and-styles/styles/theming/theming.md
index 5ae7f27d7d..41484bef02 100644
--- a/packages/documentation-site/patternfly-docs/content/foundations-and-styles/styles/theming/theming.md
+++ b/packages/documentation-site/patternfly-docs/content/foundations-and-styles/styles/theming/theming.md
@@ -106,17 +106,35 @@ The following table outlines the availability and compatibility of PatternFly fe
| Branded icons | Optional (Manual) | Default
| High contrast support | Yes | Yes |
-## Using themes in Figma
+
+## Best practices
+
+To ensure your application is robust, maintainable, and adaptable across different themes, we recommend following these best practices.
+
+- **Use default PatternFly components:** Whenever possible, use PatternFly components as they are. This ensures you stay up-to-date with our intended design, functionality, and accessibility standards. It also makes upgrades more seamless, decreases development time, and guarantees consistency across applications.
+- **Use design tokens and variables for customizations:** If you must customize a component, use the appropriate method:
+ - **Design tokens:** For global changes
+ - **Component variables:** For component-specific changes
+ - Example: To override a primary button’s background color, declare `.pf-v6-c-button { --pf-v6-c-button--m-primary--BackgroundColor: [color token]; }` instead of `.pf-v6-c-button.pf-m-primary { background-color: [color token]; }`.
+- **Always use tokens to create custom styles:** When creating custom components or styles, never use hard-coded values like hex codes or color names (`#fff` or `white`). Instead, use the appropriate design token, such as `var(--pf-t--global--background--color--primary--default)`. Tokens automatically adapt to different themes, while hard-coded values do not.
+- **Prioritize semantic tokens:** Always use the most relevant semantic token for your use case to ensure the element's purpose is clear and that it receives the correct styling in any theme. If no semantic token exists, you can fall back to a base token.
+- **Never use a palette token**: Do not use palette tokens (like `--pf-t--color--blue--20`) directly in your code, as the value is not guaranteed to be consistent across themes.
+- **Use scalable icons:** For icons, use vector images (SVG) or icon fonts instead of raster or bitmap images (PNG, JPEG, GIF, BMP, and so on). This allows you to control their color with CSS `fill` and `color` properties. By assigning a design token to these properties, your icons will automatically change color to match the active theme.
+ - If you must use static images, you might need to hide and show different image files based presence of a theme-specific class (like `pf-v6-theme-dark`).
+
+## Theming in Figma
Our Figma libraries fully support theming. Designers can create a single design and then swap between our themes using the "Apply Variable Mode" toggles in the "Appearance" section of the component properties panel. This makes it easy to visually test and validate designs across all supported themes.
The standard light PatternFly theme will be applied to components by default. If you want your mockups to use our dark or high contrast themes, you will need to adjust the following settings in Figma.
-### Unified theme
+**Note:** Our charts use a unique token collection, so you will need to adjust chart variable modes separately from components in order to swap themes. To change the variable mode for charts, follow the same steps outlined for component theme adjustments.
-To swap between the Default and Unified themes, adjust the themevariable mode. The Unified mode will automatically apply the red accents, pill shapes, and glass treatment.
+### Swapping themes
-### Dark mode
+To swap between the Default and Unified themes, adjust the theme variable mode. The Unified mode will automatically apply the red accents, pill shapes, and glass treatment.
+
+### Swapping color schemes
To swap your components to our standard dark mode, change the Semantic Color Tokens variable mode to be "Dark":
@@ -124,29 +142,10 @@ To swap your components to our standard dark mode, change the Semantic Color Tok

-### High contrast mode
+### Swapping contrast modes
To swap your components to our high contrast mode, change the Semantic Dimension Tokens variable mode to be "High Contrast" and choose either "Light - High Contrast" or "Dark - High Contrast" for the Semantic Color Tokens variable mode:

-
-
-### Chart themes
-
-Our charts use a unique token collection, so you will need to adjust chart variable modes separately from components in order to swap themes. To change the variable mode for charts, follow the same steps previously outlined for component theme adjustments.
-
-## Best practices
-
-To ensure your application is robust, maintainable, and adaptable across different themes, we recommend following these best practices.
-
-- **Use default PatternFly components:** Whenever possible, use PatternFly components as they are. This ensures you stay up-to-date with our intended design, functionality, and accessibility standards. It also makes upgrades more seamless, decreases development time, and guarantees consistency across applications.
-- **Use design tokens and variables for customizations:** If you must customize a component, use the appropriate method:
- - **Design tokens:** For global changes
- - **Component variables:** For component-specific changes
- - Example: To override a primary button’s background color, declare `.pf-v6-c-button { --pf-v6-c-button--m-primary--BackgroundColor: [color token]; }` instead of `.pf-v6-c-button.pf-m-primary { background-color: [color token]; }`.
-- **Always use tokens to create custom styles:** When creating custom components or styles, never use hard-coded values like hex codes or color names (`#fff` or `white`). Instead, use the appropriate design token, such as `var(--pf-t--global--background--color--primary--default)`. Tokens automatically adapt to different themes, while hard-coded values do not.
-- **Prioritize semantic tokens:** Always use the most relevant semantic token for your use case to ensure the element's purpose is clear and that it receives the correct styling in any theme. If no semantic token exists, you can fall back to a base token.
-- **Never use a palette token**: Do not use palette tokens (like `--pf-t--color--blue--20`) directly in your code, as the value is not guaranteed to be consistent across themes.
-- **Use scalable icons:** For icons, use vector images (SVG) or icon fonts instead of raster or bitmap images (PNG, JPEG, GIF, BMP, and so on). This allows you to control their color with CSS `fill` and `color` properties. By assigning a design token to these properties, your icons will automatically change color to match the active theme.
- - If you must use static images, you might need to hide and show different image files based presence of a theme-specific class (like `pf-v6-theme-dark`).
\ No newline at end of file
+
\ No newline at end of file
From deb9a60ebb094d0af0585bce49c942eaecb48ae4 Mon Sep 17 00:00:00 2001
From: Erin Donehoo <105813956+edonehoo@users.noreply.github.com>
Date: Tue, 31 Mar 2026 10:11:35 -0400
Subject: [PATCH 4/5] Adds glass mode handbook outline draft.
---
.../styles/colors/colors.md | 2 +
.../styles/theming/glass-mode-handbook.md | 41 +++++++++++++++++++
.../styles/theming/theming.md | 20 ++++-----
3 files changed, 53 insertions(+), 10 deletions(-)
create mode 100644 packages/documentation-site/patternfly-docs/content/foundations-and-styles/styles/theming/glass-mode-handbook.md
diff --git a/packages/documentation-site/patternfly-docs/content/foundations-and-styles/styles/colors/colors.md b/packages/documentation-site/patternfly-docs/content/foundations-and-styles/styles/colors/colors.md
index 6a77d020d9..bc46c99614 100644
--- a/packages/documentation-site/patternfly-docs/content/foundations-and-styles/styles/colors/colors.md
+++ b/packages/documentation-site/patternfly-docs/content/foundations-and-styles/styles/colors/colors.md
@@ -190,6 +190,8 @@ Status and state colors are indicators that communicate data and actions to user
To check the contrast between background and text colors, use a WCAG AA-compliance tool.
+Beyond our standard contrast ratio, we support a high contrast and a glass contrast mode, as documented in our [theming guidelines](http://localhost:8003/foundations-and-styles/theming#contrast-modes).
+
## Color families
Our color palettes are organized into "families" that contain different shades of the same hue. In the following families, you can expand each color to see related tokens.
diff --git a/packages/documentation-site/patternfly-docs/content/foundations-and-styles/styles/theming/glass-mode-handbook.md b/packages/documentation-site/patternfly-docs/content/foundations-and-styles/styles/theming/glass-mode-handbook.md
new file mode 100644
index 0000000000..e0571cec0e
--- /dev/null
+++ b/packages/documentation-site/patternfly-docs/content/foundations-and-styles/styles/theming/glass-mode-handbook.md
@@ -0,0 +1,41 @@
+---
+id: Theming
+section: foundations-and-styles
+source: glass-mode-handbook
+---
+
+# Glass mode developer handbook
+
+## What is glass mode?
+
+Glass mode is a contrast mode option that's enabled in the Felt theme by default and can be manually enabled in the Default theme. Glass adds transparency, blurring, and depth to the UI to create a layered visual effect where brand-approved background images and layered UI elements subtly show through.
+
+### Background images
+
+The glass effect is most visible when placed over a background image. Background images should be selected or designed for each Red Hat product in collaboration with the Brand team. To retain readability and ensure proper contrast ratios are met, images shouldn't contain high levels of detail or extreme contrast.
+
+Text must never be placed directly on a background image—it should be placed within a container that has a background color or glass effect. Titles or headings with stronger font weights may be placed directly on background images only if they pass specific brand and contrast requirements.
+
+### Opacity
+
+The minimum level of glass opacity can vary significantly depending on the content that needs to be read, the background images and colors used behind the lowest level glass overlay, and whether any custom CSS overrides are being used in a product space.
+
+The default opacity values used in our components have been tested for accessibility, legibility, and visual appeal. Our research and testing revealed that a 40% to 60% opacity range is the ideal opacity range to balance aesthetics with usability. A 60% opacity is a slightly more cautious level that provides better reliability for dark themes. A 40% opacity provides a more distinct glass look and maintains AAA contrast for standard text in most light theme scenarios.
+
+## Enabling glass mode
+
+Glass mode is enabled by default in the Felt theme and is designed to work across light and dark color schemes. To enable glass in the Default theme, add the class `.pf-v6-theme-glass` to your application’s `` tag. It is important that you ensure that your use of glass does not impact the accessibility or usability of your product.
+
+**Note:** Layering multiple glass-enabled containers can cause significant accessibility and performance problems. We do not support glass-on-glass overlays, such as a glass modal placed over a glass card. Components that overlay others in the UI do not have a glass effect by default.
+
+### User controls and preferences
+Because glass mode introduces legibility risks, any product utilizing glass must also let users swap between default contrast and high contrast modes via a theme switcher or preferences menu. When users select high contrast mode, it must always override and disable glass effects to ensure functional accessibility.
+
+Products should also respect the OS-level `prefers-reduced-transparency` media query, disabling glass or replacing it with a solid high-opacity background to accommodate users appropriately.
+
+## Best practices
+
+To ensure a successful implementation, follow these best practices:
+- Ensure all text meets a 4.5:1 (AA) contrast ratio.
+- Ensure that high contrast mode overrides any use of glass to maintain accessibility requirements.
+- Always verify glass components against both light and dark background variations to catch contrast failures early.
\ No newline at end of file
diff --git a/packages/documentation-site/patternfly-docs/content/foundations-and-styles/styles/theming/theming.md b/packages/documentation-site/patternfly-docs/content/foundations-and-styles/styles/theming/theming.md
index 41484bef02..791939817a 100644
--- a/packages/documentation-site/patternfly-docs/content/foundations-and-styles/styles/theming/theming.md
+++ b/packages/documentation-site/patternfly-docs/content/foundations-and-styles/styles/theming/theming.md
@@ -25,13 +25,9 @@ We support 2 pre-built themes in PatternFly. While the visual identity of each t
The Default theme creates the standard, open source PatternFly experience. It is characterized by blue branding, modern, square borders, and simple icons.
-### Unified theme
+### Felt theme
-The Unified theme is designed for products within the Red Hat portfolio, providing closer alignment with the [Red Hat Design System](https://ux.redhat.com/). It is characterized by red accent colors, smooth, rounded borderds, Red Hat icons, and glass contrast mode. Core interactive elements, such as primary buttons, continue to use blue for usability.
-
-For implementation guidance, refer to the Unified theme handbook.
-
-For a detailed look at the design philosophy and research behind the Unified theme, check out our Medium article: Title.
+The Felt theme is designed for products within the Red Hat portfolio, providing closer alignment with the [Red Hat Design System](https://ux.redhat.com/). It is characterized by red accent colors, smooth, rounded borderds, Red Hat icons, and [glass contrast mode](#glass). Core interactive elements, such as primary buttons, continue to use blue for usability.
### Custom themes
@@ -69,6 +65,10 @@ For implementation guidance, refer to the [dark theme handbook](/foundations-and
Contrast modes adjust the surface treatment of UI elements across both color schemes. They are mutually exclusive and can't be applied simultaneously.
+### Default contrast
+
+Default contrast mode is used in the Default theme and doesn't include special enhancements to increase contrast in UI elements. This mode doesn't need to be enabled and simply refers to the standard color palette used to achieve level AA accessibility, with contrast ratios of 4.5:1 for normal text, 3:1 for large text, and 3:1 for graphics and other UI components.
+
### High contrast
High contrast mode is focused on improving accessibility for users who require more clarity and higher contrast between UI elements. Turned on by user preference, high contrast mode adjusts border strokes and colors to meet an [enhanced contrast ratio of at least 7:1](https://www.w3.org/WAI/WCAG21/Understanding/contrast-enhanced.html).
@@ -83,20 +83,20 @@ For implementation guidance, refer to the [high contrast handbook](/foundations-
### Glass
-Glass mode introduces transparency and depth to the UI, creating a layered visual effect. It is enabled in the Unified theme by default, but can also be manually enabled in the Default theme.
+Glass mode introduces transparency and depth to the UI, creating a layered visual effect. It is enabled in the Felt theme by default, but can also be manually enabled in the Default theme.
When glass is enabled, the following changes will apply:
- **Transparency:** Container backgrounds will become more transparent, allowing the content below to subtly show through.
- **Background image:** A pre-approved background image will fill the page body. Product teams must work with the Brand team ensure these images maintain accessibility compliance behind UI elements.
- **Layout changes:** Layout variations, including the banded masthead and floating side navigation.
-For implementation guidance, refer to the glass handbook.
+For more details, including implementation guidance, refer to the [glass mode handbook](/foundations-and-styles/theming/glass-mode-handbook).
## Feature compatibility
The following table outlines the availability and compatibility of PatternFly features across themes.
-| Feature | Default theme | Unified theme |
+| Feature | Default theme | Felt theme |
| --- | --- | --- |
| Accent color | Blue | Red |
| Interactive element colors | Blue | Blue |
@@ -132,7 +132,7 @@ The standard light PatternFly theme will be applied to components by default. If
### Swapping themes
-To swap between the Default and Unified themes, adjust the theme variable mode. The Unified mode will automatically apply the red accents, pill shapes, and glass treatment.
+To swap between the Default and Felt themes, adjust the theme variable mode. The Felt mode will automatically apply the red accents, pill shapes, and glass treatment.
### Swapping color schemes
From 2735c8a6ced144d7341d27cef9de56fac3a32648 Mon Sep 17 00:00:00 2001
From: Erin Donehoo <105813956+edonehoo@users.noreply.github.com>
Date: Wed, 1 Apr 2026 16:19:12 -0400
Subject: [PATCH 5/5] Add tokens table and list of glass-supporting components.
---
.../styles/theming/glass-mode-handbook.md | 43 +++++++++++++++----
1 file changed, 34 insertions(+), 9 deletions(-)
diff --git a/packages/documentation-site/patternfly-docs/content/foundations-and-styles/styles/theming/glass-mode-handbook.md b/packages/documentation-site/patternfly-docs/content/foundations-and-styles/styles/theming/glass-mode-handbook.md
index e0571cec0e..bf92554f08 100644
--- a/packages/documentation-site/patternfly-docs/content/foundations-and-styles/styles/theming/glass-mode-handbook.md
+++ b/packages/documentation-site/patternfly-docs/content/foundations-and-styles/styles/theming/glass-mode-handbook.md
@@ -8,30 +8,55 @@ source: glass-mode-handbook
## What is glass mode?
-Glass mode is a contrast mode option that's enabled in the Felt theme by default and can be manually enabled in the Default theme. Glass adds transparency, blurring, and depth to the UI to create a layered visual effect where brand-approved background images and layered UI elements subtly show through.
+Glass mode is a contrast mode option that's enabled in our Felt theme by default and can be manually enabled in our Default theme. Glass adds transparency, blurring, and depth to the UI to create a more dynamic visual effect where brand-approved background images and layered UI elements subtly show through.
+
+When turned on, glass applies to the following components, including their uses within our extensions:
+- Card
+- Drawer
+- Login page
+- Masthead
+- Navigation (docked)
+- Page
+- Panel
### Background images
The glass effect is most visible when placed over a background image. Background images should be selected or designed for each Red Hat product in collaboration with the Brand team. To retain readability and ensure proper contrast ratios are met, images shouldn't contain high levels of detail or extreme contrast.
-Text must never be placed directly on a background image—it should be placed within a container that has a background color or glass effect. Titles or headings with stronger font weights may be placed directly on background images only if they pass specific brand and contrast requirements.
+Text must never be placed directly on a background image—it should be placed within a container that has a background color or glass effect. Titles or headings with stronger font weights can be placed directly on background images only if they pass specific brand and contrast requirements.
### Opacity
-The minimum level of glass opacity can vary significantly depending on the content that needs to be read, the background images and colors used behind the lowest level glass overlay, and whether any custom CSS overrides are being used in a product space.
+The default opacity values used in our components have been tested for accessibility, legibility, and visual appeal.
+- Felt light typically utilizes a 40% opacity to maintain AAA contrast for standard text.
+- Felt dark utilizes a 60% opacity to provide better reliability for the dark color scheme.
-The default opacity values used in our components have been tested for accessibility, legibility, and visual appeal. Our research and testing revealed that a 40% to 60% opacity range is the ideal opacity range to balance aesthetics with usability. A 60% opacity is a slightly more cautious level that provides better reliability for dark themes. A 40% opacity provides a more distinct glass look and maintains AAA contrast for standard text in most light theme scenarios.
+If a product team chooses to override these token values, they are responsible for conducting their own accessibility evaluation to ensure WCAG compliance.
## Enabling glass mode
-Glass mode is enabled by default in the Felt theme and is designed to work across light and dark color schemes. To enable glass in the Default theme, add the class `.pf-v6-theme-glass` to your application’s `` tag. It is important that you ensure that your use of glass does not impact the accessibility or usability of your product.
+Glass mode is designed to work across light and dark color schemes and is enabled by default in our Felt theme. To manually enable glass in our Default theme, add the class `.pf-v6-theme-glass` to your application’s `` tag. When implementing glass with our Default theme, it's important to ensure that glass does not harm the overall accessibility or usability of your product.
+
+### Technical constraints
+
+There are a few technical constraints to abide by when using glass in your product.
+
+- **No glass-on-glass layering:** Never layer glass-enabled containers. Doing so can cause significant performance and accessibility problems. For example, child objects inside a blurred parent container can become illegibly blurred themselves. To mitigate this, we have intentionally adjusted the opacity of our background color design tokens to simulate depth without introducing extra blur.
+- **High contrast precedence:** If high-contrast mode is enabled, all glass effects must be automatically disabled to prioritize functional accessibility.
+- **User controls and preferences:** Because glass mode introduces legibility risks, any product utilizing glass must also let users swap between default contrast and high contrast modes via a theme switcher or preferences menu. Products should also respect the OS-level `prefers-reduced-transparency` media query, disabling glass or replacing it with a solid high-opacity background to accommodate users appropriately.
-**Note:** Layering multiple glass-enabled containers can cause significant accessibility and performance problems. We do not support glass-on-glass overlays, such as a glass modal placed over a glass card. Components that overlay others in the UI do not have a glass effect by default.
+## Glass design tokens
-### User controls and preferences
-Because glass mode introduces legibility risks, any product utilizing glass must also let users swap between default contrast and high contrast modes via a theme switcher or preferences menu. When users select high contrast mode, it must always override and disable glass effects to ensure functional accessibility.
+The following tokens are used together to create the glass effect.
-Products should also respect the OS-level `prefers-reduced-transparency` media query, disabling glass or replacing it with a solid high-opacity background to accommodate users appropriately.
+| Token | Value (in Felt theme) | Usage |
+| --- | --- | --- |
+| `-pf-t--global--background--color--glass--primary--default` | Light mode value: #FFFFFF (60% opacity)
Dark mode value: #292929 at 50% opacity | Base fill for glass containers. |
+| `-pf-t--global--background--filter--glass--default` | Light mode value: #C7C7C7 (25% opacity)
Dark mode value: #C7C7C7 (15% opacity) | Overlay tint used to enhance blur visibility. |
+| `-pf-t--global--border--color--glass--default` | Light mode value: #FFFFFF (60% opacity)
Dark mode value: #292929 (50% opacity) | Boundary highlight for glass surfaces. |
+| `-pf-t--global--border--radius--glass--default` | #D6D6D6 with 16px radius | Default rounded border for glass element. |
+| `-pf-t--global--background--color--sticky--default` | Light mode value: #FFFFFF (100% opacity)
Dark mode value: #292929 (100% opacity) | Solid background for sticky elements, like headers. |
+| `-pf-t--global--box-shadow--medium` | #292929 (15% opacity) | Shadow that signifies elevation. |
## Best practices