diff --git a/dotnet/docs/aria-snapshots.mdx b/dotnet/docs/aria-snapshots.mdx index f34c12c04b..bfac860b59 100644 --- a/dotnet/docs/aria-snapshots.mdx +++ b/dotnet/docs/aria-snapshots.mdx @@ -84,7 +84,7 @@ Each accessible element in the tree is represented as a YAML node: - **role**: Specifies the ARIA or HTML role of the element (e.g., `heading`, `list`, `listitem`, `button`). - **"name"**: Accessible name of the element. Quoted strings indicate exact values, `/patterns/` are used for regular expression. -- **[attribute=value]**: Attributes and values, in square brackets, represent specific ARIA attributes, such as `checked`, `disabled`, `expanded`, `level`, `pressed`, or `selected`. +- **[attribute=value]**: Attributes and values, in square brackets, represent specific ARIA attributes, such as `checked`, `disabled`, `expanded`, `invalid`, `level`, `pressed`, or `selected`. These values are derived from ARIA attributes or calculated based on HTML semantics. To inspect the accessibility tree structure of a page, use the [Chrome DevTools Accessibility Tab](https://developer.chrome.com/docs/devtools/accessibility/reference#tab). @@ -348,7 +348,7 @@ Groups capture nested elements, such as `
` elements with summary conten ### Attributes and states -Commonly used ARIA attributes, like `checked`, `disabled`, `expanded`, `level`, `pressed`, and `selected`, represent control states. +Commonly used ARIA attributes, like `checked`, `disabled`, `expanded`, `invalid`, `level`, `pressed`, and `selected`, represent control states. #### Checkbox with `checked` attribute @@ -370,6 +370,26 @@ Commonly used ARIA attributes, like `checked`, `disabled`, `expanded`, `level`, - button "Toggle" [pressed=true] ``` +#### Input with `aria-invalid` attribute + +The `aria-invalid` value is surfaced directly. A value of `true` renders as `[invalid]`, while `grammar` and `spelling` render as `[invalid=grammar]` and `[invalid=spelling]`. A `false` value is omitted. + +```html + +``` + +```yaml title="aria snapshot" +- textbox "Email" [invalid]: not-an-email +``` + +```html + +``` + +```yaml title="aria snapshot" +- textbox "Bio" [invalid=spelling] +``` + [APIRequest]: /api/class-apirequest.mdx "APIRequest" [APIRequestContext]: /api/class-apirequestcontext.mdx "APIRequestContext" diff --git a/java/docs/aria-snapshots.mdx b/java/docs/aria-snapshots.mdx index 8165623d25..2f98bca9b6 100644 --- a/java/docs/aria-snapshots.mdx +++ b/java/docs/aria-snapshots.mdx @@ -84,7 +84,7 @@ Each accessible element in the tree is represented as a YAML node: - **role**: Specifies the ARIA or HTML role of the element (e.g., `heading`, `list`, `listitem`, `button`). - **"name"**: Accessible name of the element. Quoted strings indicate exact values, `/patterns/` are used for regular expression. -- **[attribute=value]**: Attributes and values, in square brackets, represent specific ARIA attributes, such as `checked`, `disabled`, `expanded`, `level`, `pressed`, or `selected`. +- **[attribute=value]**: Attributes and values, in square brackets, represent specific ARIA attributes, such as `checked`, `disabled`, `expanded`, `invalid`, `level`, `pressed`, or `selected`. These values are derived from ARIA attributes or calculated based on HTML semantics. To inspect the accessibility tree structure of a page, use the [Chrome DevTools Accessibility Tab](https://developer.chrome.com/docs/devtools/accessibility/reference#tab). @@ -348,7 +348,7 @@ Groups capture nested elements, such as `
` elements with summary conten ### Attributes and states -Commonly used ARIA attributes, like `checked`, `disabled`, `expanded`, `level`, `pressed`, and `selected`, represent control states. +Commonly used ARIA attributes, like `checked`, `disabled`, `expanded`, `invalid`, `level`, `pressed`, and `selected`, represent control states. #### Checkbox with `checked` attribute @@ -370,6 +370,26 @@ Commonly used ARIA attributes, like `checked`, `disabled`, `expanded`, `level`, - button "Toggle" [pressed=true] ``` +#### Input with `aria-invalid` attribute + +The `aria-invalid` value is surfaced directly. A value of `true` renders as `[invalid]`, while `grammar` and `spelling` render as `[invalid=grammar]` and `[invalid=spelling]`. A `false` value is omitted. + +```html + +``` + +```yaml title="aria snapshot" +- textbox "Email" [invalid]: not-an-email +``` + +```html + +``` + +```yaml title="aria snapshot" +- textbox "Bio" [invalid=spelling] +``` + [APIRequest]: /api/class-apirequest.mdx "APIRequest" [APIRequestContext]: /api/class-apirequestcontext.mdx "APIRequestContext" diff --git a/nodejs/docs/api/class-testoptions.mdx b/nodejs/docs/api/class-testoptions.mdx index ba854f499f..91e8f85756 100644 --- a/nodejs/docs/api/class-testoptions.mdx +++ b/nodejs/docs/api/class-testoptions.mdx @@ -1028,8 +1028,12 @@ export default defineConfig({ Whether to record video for each test. Defaults to `'off'`. * `'off'`: Do not record video. * `'on'`: Record video for each test. -* `'retain-on-failure'`: Record video for each test, but remove all videos from successful test runs. * `'on-first-retry'`: Record video only when retrying a test for the first time. +* `'on-all-retries'`: Record video only when retrying a test. +* `'retain-on-failure'`: Record video for each test. When test run passes, remove the recorded video. +* `'retain-on-first-failure'`: Record video for the first run of each test, but not for retries. When test run passes, remove the recorded video. +* `'retain-on-failure-and-retries'`: Record video for each test run. Retains all videos when an attempt fails. +* `'retain-all-failures'`: Record video for each test run. Retains the video only for attempts that failed, regardless of the final test outcome. To control video size, pass an object with `mode` and `size` properties. If video size is not specified, it will be equal to [testOptions.viewport](/api/class-testoptions.mdx#test-options-viewport) scaled down to fit into 800x800. If `viewport` is not configured explicitly the video size defaults to 800x450. Actual picture of each page will be scaled down if necessary to fit the specified size. @@ -1050,8 +1054,8 @@ export default defineConfig({ Learn more about [recording video](../test-use-options.mdx#recording-options). **Type** -- [Object] | "off" | "on" | "retain-on-failure" | "on-first-retry" - - `mode` "off" | "on" | "retain-on-failure" | "on-first-retry" +- [Object] | "off" | "on" | "retain-on-failure" | "on-first-retry" | "on-all-retries" | "retain-on-first-failure" | "retain-on-failure-and-retries" | "retain-all-failures" + - `mode` "off" | "on" | "retain-on-failure" | "on-first-retry" | "on-all-retries" | "retain-on-first-failure" | "retain-on-failure-and-retries" | "retain-all-failures" Video recording mode. - `size` [Object] *(optional)* diff --git a/nodejs/docs/aria-snapshots.mdx b/nodejs/docs/aria-snapshots.mdx index 54ae14bf0c..1913149a08 100644 --- a/nodejs/docs/aria-snapshots.mdx +++ b/nodejs/docs/aria-snapshots.mdx @@ -84,7 +84,7 @@ Each accessible element in the tree is represented as a YAML node: - **role**: Specifies the ARIA or HTML role of the element (e.g., `heading`, `list`, `listitem`, `button`). - **"name"**: Accessible name of the element. Quoted strings indicate exact values, `/patterns/` are used for regular expression. -- **[attribute=value]**: Attributes and values, in square brackets, represent specific ARIA attributes, such as `checked`, `disabled`, `expanded`, `level`, `pressed`, or `selected`. +- **[attribute=value]**: Attributes and values, in square brackets, represent specific ARIA attributes, such as `checked`, `disabled`, `expanded`, `invalid`, `level`, `pressed`, or `selected`. These values are derived from ARIA attributes or calculated based on HTML semantics. To inspect the accessibility tree structure of a page, use the [Chrome DevTools Accessibility Tab](https://developer.chrome.com/docs/devtools/accessibility/reference#tab). @@ -415,7 +415,7 @@ Groups capture nested elements, such as `
` elements with summary conten ### Attributes and states -Commonly used ARIA attributes, like `checked`, `disabled`, `expanded`, `level`, `pressed`, and `selected`, represent control states. +Commonly used ARIA attributes, like `checked`, `disabled`, `expanded`, `invalid`, `level`, `pressed`, and `selected`, represent control states. #### Checkbox with `checked` attribute @@ -437,6 +437,26 @@ Commonly used ARIA attributes, like `checked`, `disabled`, `expanded`, `level`, - button "Toggle" [pressed=true] ``` +#### Input with `aria-invalid` attribute + +The `aria-invalid` value is surfaced directly. A value of `true` renders as `[invalid]`, while `grammar` and `spelling` render as `[invalid=grammar]` and `[invalid=spelling]`. A `false` value is omitted. + +```html + +``` + +```yaml title="aria snapshot" +- textbox "Email" [invalid]: not-an-email +``` + +```html + +``` + +```yaml title="aria snapshot" +- textbox "Bio" [invalid=spelling] +``` + [APIRequest]: /api/class-apirequest.mdx "APIRequest" [APIRequestContext]: /api/class-apirequestcontext.mdx "APIRequestContext" diff --git a/nodejs/docs/test-cli.mdx b/nodejs/docs/test-cli.mdx index c472e39bf8..037d7e5014 100644 --- a/nodejs/docs/test-cli.mdx +++ b/nodejs/docs/test-cli.mdx @@ -89,7 +89,7 @@ npx playwright test --ui | `--fully-parallel` | Run all tests in parallel (default: false). | | `--global-timeout ` | Maximum time this test suite can run in milliseconds (default: unlimited). | | `-g ` or `--grep ` | Only run tests matching this regular expression (default: ".*"). | -| `--grep-invert ` | Only run tests that do not match this regular expression. | +| `-G ` or `--grep-invert ` | Only run tests that do not match this regular expression. | | `--headed` | Run tests in headed browsers (default: headless). | | `--ignore-snapshots` | Ignore screenshot and snapshot expectations. | | `-j ` or `--workers ` | Number of concurrent workers or percentage of logical CPU cores, use 1 to run in a single worker (default: 50%). | diff --git a/python/docs/aria-snapshots.mdx b/python/docs/aria-snapshots.mdx index bcd693f223..450ff4862b 100644 --- a/python/docs/aria-snapshots.mdx +++ b/python/docs/aria-snapshots.mdx @@ -113,7 +113,7 @@ Each accessible element in the tree is represented as a YAML node: - **role**: Specifies the ARIA or HTML role of the element (e.g., `heading`, `list`, `listitem`, `button`). - **"name"**: Accessible name of the element. Quoted strings indicate exact values, `/patterns/` are used for regular expression. -- **[attribute=value]**: Attributes and values, in square brackets, represent specific ARIA attributes, such as `checked`, `disabled`, `expanded`, `level`, `pressed`, or `selected`. +- **[attribute=value]**: Attributes and values, in square brackets, represent specific ARIA attributes, such as `checked`, `disabled`, `expanded`, `invalid`, `level`, `pressed`, or `selected`. These values are derived from ARIA attributes or calculated based on HTML semantics. To inspect the accessibility tree structure of a page, use the [Chrome DevTools Accessibility Tab](https://developer.chrome.com/docs/devtools/accessibility/reference#tab). @@ -420,7 +420,7 @@ Groups capture nested elements, such as `
` elements with summary conten ### Attributes and states -Commonly used ARIA attributes, like `checked`, `disabled`, `expanded`, `level`, `pressed`, and `selected`, represent control states. +Commonly used ARIA attributes, like `checked`, `disabled`, `expanded`, `invalid`, `level`, `pressed`, and `selected`, represent control states. #### Checkbox with `checked` attribute @@ -442,6 +442,26 @@ Commonly used ARIA attributes, like `checked`, `disabled`, `expanded`, `level`, - button "Toggle" [pressed=true] ``` +#### Input with `aria-invalid` attribute + +The `aria-invalid` value is surfaced directly. A value of `true` renders as `[invalid]`, while `grammar` and `spelling` render as `[invalid=grammar]` and `[invalid=spelling]`. A `false` value is omitted. + +```html + +``` + +```yaml title="aria snapshot" +- textbox "Email" [invalid]: not-an-email +``` + +```html + +``` + +```yaml title="aria snapshot" +- textbox "Bio" [invalid=spelling] +``` + [APIRequest]: /api/class-apirequest.mdx "APIRequest" [APIRequestContext]: /api/class-apirequestcontext.mdx "APIRequestContext" diff --git a/src/components/GitHubStarButton/index.tsx b/src/components/GitHubStarButton/index.tsx index 13f819549d..e1816929bb 100644 --- a/src/components/GitHubStarButton/index.tsx +++ b/src/components/GitHubStarButton/index.tsx @@ -6,7 +6,7 @@ type StarButtonProps = { repo: string } -const STARS = '89k+'; // NOTE: this line is generated by src/generate.js. Do not change! +const STARS = '90k+'; // NOTE: this line is generated by src/generate.js. Do not change! const StarButton: React.FC = ({owner, repo}) => { if (!repo)