diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md new file mode 100644 index 0000000000..eb5cfec430 --- /dev/null +++ b/.github/copilot-instructions.md @@ -0,0 +1,552 @@ +# Blazor Code Style Guide + +This guide outlines best practices for Razor component development and documentation in Blazor. + +## Razor File Structure + +Use the following top-down order in `.razor` files: + +1. `@page` +2. `@using` +3. `@namespace` +4. `@inherits` +5. `@implements` +6. `@inject` + +Insert ` #end + +#license-key-version + +>tip This documentation section applies to Telerik UI for Blazor version **8.0.0** and above. Older versions do not require a license key. + +#end + +#license-key-update-whenever + +>tip Update your license key [whenever you renew or purchase a new Telerik license](slug:installation-license-key#license-key-updates). + +#end + +#license-key-manual-steps + +To download and install your Telerik license key: + +1. Go to the License Keys page in your Telerik account. +1. Click the **Download License Key** button. +1. Save the `telerik-license.txt` file to: + * (on Windows) `%AppData%\Telerik\telerik-license.txt`, for example, `C:\Users\...\AppData\Roaming\Telerik\telerik-license.txt` + * (on Mac or Linux) `~/.telerik/telerik-license.txt`, for example, `/Users/.../.telerik/telerik-license.txt` + +This will make the license key available to all Telerik .NET apps that you develop on your local machine. + +#end + +#license-key-know-more-link + +The [Telerik License Key](slug:installation-license-key) article provides additional details on installing and updating your Telerik license key in different scenarios. [Automatic license key maintenance](slug:installation-license-key#automatic-installation) is more effective and recommended in the long run. + +#end + +#ai-coding-assistant-ad + +Use the [Telerik AI Coding Assistant](slug:ai-overview) through the [Telerik Blazor MCP server](slug:ai-mcp-server) or the [Telerik Blazor GitHub Copilot extension](slug:ai-copilot-extension). These tools help you receive tips and generate code snippets that include Telerik UI for Blazor components and API. + +#end \ No newline at end of file diff --git a/_contentTemplates/common/grid-treelist-autogenerated-columns.md b/_contentTemplates/common/grid-treelist-autogenerated-columns.md index 7e6ea30f96..f7dbfca1d4 100644 --- a/_contentTemplates/common/grid-treelist-autogenerated-columns.md +++ b/_contentTemplates/common/grid-treelist-autogenerated-columns.md @@ -1,4 +1,4 @@ #grid-treelist-autogenerated-columns-limitation When the component initializes, it expects to know what columns to render before the data comes. -If the component is bound to a collection of dynamic objects (such as `Dictionary` or `ExpandoObject`), the component cannot know what columns to render, due to the nature of these objects. Therefore, the `AutoGenerateColumns` feature is not applicable in such scenarios. Columns must be declared explicitly or with a loop. Examples of such setups are available at [Binding Grid to ExpandoObject]({%slug grid-kb-binding-to-expando-object%}). +If the component is bound to a collection of dynamic objects (such as `Dictionary` or `ExpandoObject`), the component cannot know what columns to render, due to the nature of these objects. Therefore, the `AutoGenerateColumns` feature is not applicable in such scenarios. Columns must be declared explicitly or with a loop. Examples of such setups are available at [Binding Grid to ExpandoObject](slug:grid-kb-binding-to-expando-object). #end \ No newline at end of file diff --git a/_contentTemplates/common/grid-treelist-editing-notes.md b/_contentTemplates/common/grid-treelist-editing-notes.md deleted file mode 100644 index ebc72c5096..0000000000 --- a/_contentTemplates/common/grid-treelist-editing-notes.md +++ /dev/null @@ -1,10 +0,0 @@ -#grid-treelist-data-operations-while-editing - - * For operations like Filter, Group, Sort, Page, Search, Select, Row drag and Delete: - * InCell edit - if the validation is satisfied, a save operation will be executed. If the validation is **not** satisfied, editing will be cancelled, the `OnCancel` event will fire and the new user operation will be executed. In this case, you can handle the OnCancel event and set the `IsCancelled` property of the `CommandEventArgs` to true. Thus, the other data operation will be aborted and the Grid will remain in edit mode. - * Inline edit - regardless of the validation, editing will be cancelled, the `OnCancel` event will fire and the new user operation will be executed. In this case, you can handle the OnCancel event and set the `IsCancelled` property of the `CommandEventArgs` to true. Thus, the other data operation will be aborted and the Grid will remain in edit mode. - - * For operations like Edit, Add, Save: - * InCell edit - if the validation is satisfied, the currently edited item will be saved and the command will be executed. If the validation is **not** satisfied, the command will be blocked until the item is valid or editing is cancelled. - * Inline edit - if the validation is satisfied, `OnCancel` will be fired for the currently edited item and the command will be executed. If the validation is **not** satisfied, the command will be blocked until the item is valid or editing is cancelled. -#end \ No newline at end of file diff --git a/_contentTemplates/common/icons.md b/_contentTemplates/common/icons.md index 74137ba8d8..dfc0c08ed0 100644 --- a/_contentTemplates/common/icons.md +++ b/_contentTemplates/common/icons.md @@ -1,6 +1,6 @@ #font-icons-css-note -> Make sure to [register `font-icons.css` if using Telerik font icons]({%slug common-features-icons%}#font-icon-stylesheet). +> Make sure to [register `font-icons.css` if using Telerik font icons](slug:common-features-icons#font-icon-stylesheet). #end diff --git a/_contentTemplates/common/inputs.md b/_contentTemplates/common/inputs.md index dd3418ff46..23374062b6 100644 --- a/_contentTemplates/common/inputs.md +++ b/_contentTemplates/common/inputs.md @@ -1,25 +1,23 @@ #focus-kb -Also check the dedicated KB article about [programmatic input component focusing]({%slug inputs-kb-focus%}), which provides more examples and tips. +Also check the dedicated KB article about [programmatic input component focusing](slug:inputs-kb-focus), which provides more examples and tips. #end #edit-debouncedelay - Consider setting `DebounceDelay="0"` to the component inside the editor template. This is how the default editors in all Telerik Blazor components work. Otherwise, fast users may try to save changes before the data item in edit mode receives the new value. - #end #adornments ## Adornments -The component allows you to add custom elements as prefixes and suffixes. [Read more about how to render custom adornments before and after the input element...]({%slug common-features/input-adornments%}) +The component allows you to add custom elements as prefixes and suffixes. [Read more about how to render custom adornments before and after the input element...](slug:common-features/input-adornments) #end - + #floating-label-and-preffix -When using the [`PrefixTemplate`]({%slug common-features/input-adornments%}#adding-prefix-in-ui-for-blazor-components) for a component wrapped in a [FloatingLabel]({%slug floatinglabel-overview%}), the label will overlap the prefix. +When using the [`PrefixTemplate`](slug:common-features/input-adornments#adding-a-prefix-adornment) for a component wrapped in a [FloatingLabel](slug:floatinglabel-overview), the label will overlap the prefix. To ensure both the FloatingLabel and the prefix content are properly displayed, move the label with CSS: -````CSHTML +````RAZOR -#end \ No newline at end of file +#end + +#multidimensional-table + +#end diff --git a/_contentTemplates/common/popup-edit-customization.md b/_contentTemplates/common/popup-edit-customization.md index 2def29e38a..08c6a8b4dd 100644 --- a/_contentTemplates/common/popup-edit-customization.md +++ b/_contentTemplates/common/popup-edit-customization.md @@ -6,7 +6,7 @@ | --- | --- | --- | | `Class` | `string` | The CSS class of the edit popup | | `Title` | `string` | The title of the edit popup | -| `ThemeColor` | `string` | The color scheme of the window. Use the available members of the static class [`ThemeConstants.Window.ThemeColor`](/blazor-ui/api/Telerik.Blazor.ThemeConstants.Window.ThemeColor). | +| `ThemeColor` | `string` | The color scheme of the window. Use the available members of the static class [`ThemeConstants.Window.ThemeColor`](slug:Telerik.Blazor.ThemeConstants.Window.ThemeColor). | | `Width` | `string` | The Width of the edit popup | | `MaxWidth` | `string` | The maximum width of the window | | `MinWidth` | `string` | The minimum width of the window | diff --git a/_contentTemplates/common/rebind-method.md b/_contentTemplates/common/rebind-method.md index e92896381e..50f5922aa7 100644 --- a/_contentTemplates/common/rebind-method.md +++ b/_contentTemplates/common/rebind-method.md @@ -1,5 +1,5 @@ #intro -You can refresh the data by invoking the [`Rebind` method]({%slug common-features-data-binding-overview%}#refresh-data). Use the component reference to call the `Rebind` method after you have made the data changes (for example adding, removing items). This is needed in case you are not using [Observable data](#observable-data) or [resetting the collection reference](#new-collection-reference). Calling `Rebind` will force the component process the available data anew to reflect the updates. +You can refresh the data by invoking the [`Rebind` method](slug:common-features-data-binding-overview#refresh-data). Use the component reference to call the `Rebind` method after you have made the data changes (for example adding, removing items). This is needed in case you are not using [Observable data](#observable-data) or [resetting the collection reference](#new-collection-reference). Calling `Rebind` will force the component process the available data anew to reflect the updates. >caption Use the `Rebind` method to refresh the data. #end \ No newline at end of file diff --git a/_contentTemplates/common/refresh-data-not-applicable.md b/_contentTemplates/common/refresh-data-not-applicable.md index 16e99bc0ea..6ff1f6996a 100644 --- a/_contentTemplates/common/refresh-data-not-applicable.md +++ b/_contentTemplates/common/refresh-data-not-applicable.md @@ -1,3 +1,3 @@ #refresh-data-note ->note As part of our `3.0.1` release we introduced the `Rebind` method to the component reference. This would make the rest of the approaches in this article obsolete. -#end \ No newline at end of file +>note As part of our `3.0.1` release we introduced the `Rebind` method to the component reference. This can make some of the approaches in this article obsolete, especially resetting the collection reference. +#end diff --git a/_contentTemplates/date-inputs/general.md b/_contentTemplates/date-inputs/general.md index d11374c765..96de7ceb92 100644 --- a/_contentTemplates/date-inputs/general.md +++ b/_contentTemplates/date-inputs/general.md @@ -26,19 +26,19 @@ By default, the value for all parameters is `null`, which applies the full forma #end #dateinput-typing-settings -textbox is a [DateInput component]({%slug components/dateinput/overview%}), which provides various parameters to configure the keyboard typing experience. The settings are related to: +textbox is a [DateInput component](slug:components/dateinput/overview), which provides various parameters to configure the keyboard typing experience. The settings are related to: * Caret placement; * Two-digit year values; * Automatic correction of invalid date segments. -See the [DateInput keyboard documentation]({%slug dateinput-keyboard-typing%}) for details and examples. The same DateInput parameters with the same behavior exist for the +See the [DateInput keyboard documentation](slug:dateinput-keyboard-typing) for details and examples. The same DateInput parameters with the same behavior exist for the #end #typing-parameters ### Typing User Experience -The component provides multiple parameters, which control the [caret placement, two-digit year values and the auto-correct behavior of the textbox. See the **DateInput** documentation for details]({%slug dateinput-keyboard-typing%}). +The component provides multiple parameters, which control the [caret placement, two-digit year values and the auto-correct behavior of the textbox. See the **DateInput** documentation for details](slug:dateinput-keyboard-typing). #end diff --git a/_contentTemplates/dropdownbutton/notes.md b/_contentTemplates/dropdownbutton/notes.md index 5f8c5becb4..18f06ac0ba 100644 --- a/_contentTemplates/dropdownbutton/notes.md +++ b/_contentTemplates/dropdownbutton/notes.md @@ -1,7 +1,7 @@ #dropdownbutton-splitbutton-comparison The DropDownButton and SplitButton components are similar. They both consist of a primary button and a dropdown element that holds additional action items. The major difference is the purpose of the primary button. -* [DropDownButton]({%slug dropdownbutton-overview%})—The main purpose of the primary button is to open the popup with additional actions. The primary button exposes a separate [`OnClick` event]({%slug dropdownbutton-events%}), which can invoke a dedicated action. Clicking on the DropDownButton always opens the dropdown. +* [DropDownButton](slug:dropdownbutton-overview)—The main purpose of the primary button is to open the popup with additional actions. The primary button exposes a separate [`OnClick` event](slug:dropdownbutton-events), which can invoke a dedicated action. Clicking on the DropDownButton always opens the dropdown. -* [SplitButton]({%slug splitbutton-overview%})—The main element contains a primary button and a separate button for opening the dropdown. The purpose of the primary button is to [invoke a standalone action]({%slug splitbutton-events%}#onclick). Clicking on it does not open the dropdown. To open the popup with the additional actions, the user has to click the dedicated button with `caret-alt-down` icon. It is possible to [switch the primary and dropdown actions programmatically]({%slug splitbutton-kb-change-primary-action-onclick%}). +* [SplitButton](slug:splitbutton-overview)—The main element contains a primary button and a separate button for opening the dropdown. The purpose of the primary button is to [invoke a standalone action](slug:splitbutton-events#onclick). Clicking on it does not open the dropdown. To open the popup with the additional actions, the user has to click the dedicated button with `caret-alt-down` icon. It is possible to [switch the primary and dropdown actions programmatically](slug:splitbutton-kb-change-primary-action-onclick). #end \ No newline at end of file diff --git a/_contentTemplates/dropdowns/adaptive-rendering.md b/_contentTemplates/dropdowns/adaptive-rendering.md index 7d81bba92f..7930387cdb 100644 --- a/_contentTemplates/dropdowns/adaptive-rendering.md +++ b/_contentTemplates/dropdowns/adaptive-rendering.md @@ -1,7 +1,7 @@ #intro -The component supports different popup rendering depending on the screen size. [Read more about the Adaptive Rendering functionality and how to enable it...]({%slug adaptive-rendering%}) +The component supports different popup rendering depending on the screen size. [Read more about the Adaptive Rendering functionality and how to enable it...](slug:adaptive-rendering) #end #value-changed -> If [`AdaptiveRendering`]({%slug adaptive-rendering%}) is enabled, on small and medium devices `ValueChanged` will fire only when the user clicks the confirmation button in the action sheet. +> If [`AdaptiveRendering`](slug:adaptive-rendering) is enabled, on small and medium devices `ValueChanged` will fire only when the user clicks the confirmation button in the action sheet. #end \ No newline at end of file diff --git a/_contentTemplates/dropdowns/features.md b/_contentTemplates/dropdowns/features.md index bdb0e6634a..f8a23bb91a 100644 --- a/_contentTemplates/dropdowns/features.md +++ b/_contentTemplates/dropdowns/features.md @@ -15,7 +15,7 @@ You can use the functionality of the built-in templates and customize the defaul #end #validation -You can ensure that the component value is acceptable by using the built-in validation. [Read more about input validation...]({%slug common-features/input-validation%}). +You can ensure that the component value is acceptable by using the built-in validation. [Read more about input validation...](slug:common-features/input-validation). #end #virtualization @@ -25,7 +25,7 @@ By virtualizing the elements in the dropdown, you can use huge data sources with #styling | Parameter | Type | Description | | --- | --- | --- | -| `Class` | `string` | The CSS class that will be rendered on the main wrapping element of the component. Use it to [override the theme or apply custom styles]({%slug themes-override%}). | +| `Class` | `string` | The CSS class that will be rendered on the main wrapping element of the component. Use it to [override the theme or apply custom styles](slug:themes-override). | | `Width` | `string` | The width of the component. It will target both the dropdown and the main element if the dropdown has no specific width set. @[template](/_contentTemplates/inputs/inputs-width-template.md#inputs-width-information) | #end @@ -43,7 +43,7 @@ By virtualizing the elements in the dropdown, you can use huge data sources with | `MaxWidth` | `string` | The maximum width of the popup. | | `Width` | `string` | The width of the popup. If you don't specify a value, the dropdown width will match the anchor element width which can help with responsive layouts and 100% widths. | -The parameters that modify the popup dimensions (`Height`, `Width`, `MaxWidth`, etc.) expect [valid CSS values]({%slug common-features/dimensions%}). +The parameters that modify the popup dimensions (`Height`, `Width`, `MaxWidth`, etc.) expect [valid CSS values](slug:common-features/dimensions). The `MinHeight` and `MaxHeight` have no effect if the `Height` is always within their range. The min and max values are useful only when the dropdown height is set to a relative unit or changes at runtime. diff --git a/_contentTemplates/editor/general.md b/_contentTemplates/editor/general.md index c464d4da0e..53201c6172 100644 --- a/_contentTemplates/editor/general.md +++ b/_contentTemplates/editor/general.md @@ -8,7 +8,7 @@ The application must sanitize the content before passing it to the Editor and, o This section applies only to Blazor **Server** apps. Blazor **WebAssembly** apps do not require additional configuration for the Editor to work with large content. -Blazor **Server** apps use the **SignalR WebSocket** to send the Editor `Value` from the browser to the server .NET runtime and vice-versa. The default SignalR maximum message size is **32 KB**. To work with larger content (especially paste images as Base64 strings), [increase the max WebSocket message size for the Blazor application]({%slug common-kb-increase-signalr-max-message-size%}). +Blazor **Server** apps use the **SignalR WebSocket** to send the Editor `Value` from the browser to the server .NET runtime and vice-versa. The default SignalR maximum message size is **32 KB**. To work with larger content (especially paste images as Base64 strings), [increase the max WebSocket message size for the Blazor application](slug:common-kb-increase-signalr-max-message-size). #end #prosemirror-schema-prerequisites diff --git a/_contentTemplates/grid/built-in-dialogs.md b/_contentTemplates/grid/built-in-dialogs.md index 0597d3b8bc..90db720dd0 100644 --- a/_contentTemplates/grid/built-in-dialogs.md +++ b/_contentTemplates/grid/built-in-dialogs.md @@ -1,11 +1,11 @@ #delete-confirmation To customize the appearance and behavior of the delete confirmation dialog, use one of the following options: -* [Localization]({%slug globalization-localization%}) - this approach is useful if you want to change just the text of the built-in delete confirmation dialog elements. It does not allow adding item details to the dialog text. +* [Localization](slug:globalization-localization) - this approach is useful if you want to change just the text of the built-in delete confirmation dialog elements. It does not allow adding item details to the dialog text. -* [Predefined dialogs (`DialogFactory`)]({%slug dialog-predefined%}#confirm) - this option is useful if you want to change the dialog text and include some details for the item the user tries to delete (for example, record name). +* [Predefined dialogs (`DialogFactory`)](slug:dialog-predefined#confirm) - this option is useful if you want to change the dialog text and include some details for the item the user tries to delete (for example, record name). -* [Dialog Component]({%slug dialog-overview%}) - this solution allows you to fully customize the rendering and appearance of the dialog. You may set the desired `ThemeColor` and add any content there, be that custom text, HTML elements or other components. +* [Dialog Component](slug:dialog-overview) - this solution allows you to fully customize the rendering and appearance of the dialog. You may set the desired `ThemeColor` and add any content there, be that custom text, HTML elements or other components. -[Read more about customizing the delete confirmation dialog...]({%slug grid-kb-customize-delete-confirmation-dialog%}) +[Read more about customizing the delete confirmation dialog...](slug:grid-kb-customize-delete-confirmation-dialog) #end \ No newline at end of file diff --git a/_contentTemplates/grid/common-link.md b/_contentTemplates/grid/common-link.md index f97abbd559..b98b81d664 100644 --- a/_contentTemplates/grid/common-link.md +++ b/_contentTemplates/grid/common-link.md @@ -4,7 +4,7 @@ #conditional-style-row-and-cell-render -````CSHTML +````RAZOR @* Conditional styling/formatting for a cell and row *@ + +
+ + + + + + + + + + + + + + + +
+ +@code { + private List ChartData { get; set; } = new(); + + protected override void OnInitialized() + { + var productCount = 3; + + for (int i = 1; i <= productCount; i++) + { + ChartData.Add(new SalesData() + { + Product = $"Product {i}", + Revenue = i * 4 + }); + } + } + + public class SalesData + { + public string Product { get; set; } = string.Empty; + public decimal Revenue { get; set; } + } +} +```` + ## Chart Parameters The following table lists Chart parameters, which are not discussed elsewhere in the component documentation. @@ -165,11 +250,11 @@ To execute Chart methods, obtain reference to the component instance via `@ref`. | Method | Description | |---------|-------------| | `Refresh` | Use the method to programmatically re-render the Chart. | -| `ResetDrilldownLevel` | Use the method to programmatically reset the drilldown level of the Chart. For more information refer to the [DrillDown article]({%slug chart-drilldown%}#reset-drilldown-level). | +| `ResetDrilldownLevel` | Use the method to programmatically reset the drilldown level of the Chart. For more information refer to the [DrillDown article](slug:chart-drilldown#reset-drilldown-level). |
-````CSHTML +````RAZOR Refresh Chart @@ -186,11 +271,11 @@ To execute Chart methods, obtain reference to the component instance via `@ref`. ## Next Steps -* [Data bind the Chart]({%slug components/chart/databind%}) -* [Explore the Chart events]({%slug chart-events%}) -* [Learn more about Chart Tooltips]({%slug chart-tooltip-overview%}) +* [Data bind the Chart](slug:components/chart/databind) +* [Explore the Chart events](slug:chart-events) +* [Learn more about Chart Tooltips](slug:chart-tooltip-overview) ## See Also * [Live Demos: Chart](https://demos.telerik.com/blazor-ui/chart/overview) -* [Chart API Reference](/blazor-ui/api/Telerik.Blazor.Components.TelerikChart) +* [Chart API Reference](slug:Telerik.Blazor.Components.TelerikChart) diff --git a/components/chart/pan-and-zoom/pan.md b/components/chart/pan-and-zoom/pan.md index 095f193b87..12b765e473 100644 --- a/components/chart/pan-and-zoom/pan.md +++ b/components/chart/pan-and-zoom/pan.md @@ -28,7 +28,7 @@ To perform panning, do either of the following: >caption Chart with enabled panning -````CSHTML +````RAZOR @* This code snippet showcases an example of pannable Chart. *@ @@ -102,7 +102,7 @@ To specify an axis that user cannot pan, use the `Lock` parameter within the `Ch >caption Chart with specified panning keyboard key and locked axis -````CSHTML +````RAZOR @* This code snippet showcases an example of pannable Chart with specified modifier key and locked Axis. *@ Press CTRL + Click and Drag. diff --git a/components/chart/pan-and-zoom/zoom.md b/components/chart/pan-and-zoom/zoom.md index cdda3c5538..b4db0a91ec 100644 --- a/components/chart/pan-and-zoom/zoom.md +++ b/components/chart/pan-and-zoom/zoom.md @@ -23,7 +23,7 @@ To perform zooming, do either of the following: >caption Zoomable Chart -````CSHTML +````RAZOR @* This code snippet showcases an example of zoomable Chart. *@ @@ -117,7 +117,7 @@ To specify if users can zoom in and out on a selected area, set the boolean `Ena >caption Mouse wheel and selection zoom in the Chart -````CSHTML +````RAZOR @* This code snippet showcases an example of mouse wheel and selection zooming Chart. *@ @@ -193,7 +193,7 @@ To specify an axis that users cannot zoom, use the `Lock` parameter within the ` >caption Chart with specified zooming key and locked axis -````CSHTML +````RAZOR @* This code snippet showcases an example of mousewheel and selection zooming Chart with specified key. *@ Press CTRL + Click and Drag. diff --git a/components/chart/plot-bands.md b/components/chart/plot-bands.md index ed7ef040ad..2b1745cf55 100644 --- a/components/chart/plot-bands.md +++ b/components/chart/plot-bands.md @@ -12,7 +12,7 @@ position: 45 Plot Bands are colored ranges in the Telerik UI for Blazor Chart. Their purpose is to highlight areas of the chart by changing the background in a predefined axis range. -Plot bands are supported for [categorical and numerical charts]({%slug components/chart/databind%}#series-types). +Plot bands are supported for [categorical and numerical charts](slug:components/chart/databind#series-types). ## Creating Plot Bands @@ -58,7 +58,7 @@ There are two different ways to configure the `From` and `To` values. The correc vertical category axis - ChartCategoryAxis
including date axis + ChartCategoryAxis
including date axis horizontal category axis Zero-based index, which corresponds to a major vertical grid line that intersects the axis. The plot band will display between the specified grid lines. @@ -67,7 +67,7 @@ There are two different ways to configure the `From` and `To` values. The correc ## Categorical Chart PlotBands -````CSHTML +````RAZOR @* Plot bands for the Column series type *@ @@ -110,7 +110,7 @@ There are two different ways to configure the `From` and `To` values. The correc ## Numerical Chart PlotBands -````CSHTML +````RAZOR @* Plot bands for the Scatter series type *@ diff --git a/components/chart/rendering-modes.md b/components/chart/rendering-modes.md index 0524775872..b8aa40cad1 100644 --- a/components/chart/rendering-modes.md +++ b/components/chart/rendering-modes.md @@ -25,11 +25,11 @@ Using vector graphics ensures that: * The browser zoom does not degrade the image. * The prints are crisp regardless of the resolution. -In addition, the SVG Chart provides accessibility features such as [general description]({%slug components/chart/overview%}#chart-title) and [aria label templates]({%slug components/chart/label-template-format%}#series-label-aria-template) out of the box. +In addition, the SVG Chart provides accessibility features such as [general description](slug:components/chart/overview#title-and-subtitle) and [aria label templates](slug:components/chart/label-template-format#series-label-aria-template) out of the box. >caption Bar Chart rendered as SVG -````CSHTML +````RAZOR @@ -72,7 +72,7 @@ On the downside, rendering a fixed resolution bitmap results in: >caption Bar Chart rendered as Canvas -````CSHTML +````RAZOR diff --git a/components/chart/stacked-series.md b/components/chart/stacked-series.md index 63cb068a62..4a572ed530 100644 --- a/components/chart/stacked-series.md +++ b/components/chart/stacked-series.md @@ -30,7 +30,7 @@ To stack all series together, set the `Enabled` property to `true` in the `Chart >caption All series stacked together -````CSHTML +````RAZOR Basic stacking of series @@ -68,7 +68,7 @@ You can choose which series to cluster together through the `Group` property of >caption Stack certain series together in a separate group -````CSHTML +````RAZOR Stack clustering in groups @@ -112,7 +112,7 @@ You can use separate groups, or you can stack all series together with just the >caption Stack 100% with groups -````CSHTML +````RAZOR Stack to 100% @@ -149,4 +149,4 @@ Stack to 100% ## See Also * [Live Demos: Chart](https://demos.telerik.com/blazor-ui/chart/overview) -* [Render total value and group name for stacked columns]({%slug chart-kb-stacked-series-sum-label%}) +* [Render total value and group name for stacked columns](slug:chart-kb-stacked-series-sum-label) diff --git a/components/chart/templates.md b/components/chart/templates.md index 0111ec778b..fe744c4533 100644 --- a/components/chart/templates.md +++ b/components/chart/templates.md @@ -13,7 +13,7 @@ position: 101 Starting in **version 7.0.0**, when all Chart series have no data to show, a default layout with **No data** text is displayed over the Chart. To customize the default layout content declare a `` tag inside a `` tag: -````CSHTML +````RAZOR @ButtonContent
@@ -85,4 +85,5 @@ Starting in **version 7.0.0**, when all Chart series have no data to show, a def ## See Also * [Live Demo: Chart - No Data Template](https://demos.telerik.com/blazor-ui/chart/no-data-template) + * [How to Show Empty Chart Instead the Default No Data Template](slug:chart-kb-display-empty-chart) diff --git a/components/chart/tooltip/overview.md b/components/chart/tooltip/overview.md index f719b767a6..5df83eee6b 100644 --- a/components/chart/tooltip/overview.md +++ b/components/chart/tooltip/overview.md @@ -10,7 +10,7 @@ position: 1 # Tooltip for Telerik Blazor Chart -The Telerik Chart provides a tooltip for its data points. You can have settings specific to each ``, common tooltip settings for all series, or a [shared]({%slug chart-tooltip-shared%}) tooltip for all categories. +The Telerik Chart provides a tooltip for its data points. You can have settings specific to each ``, common tooltip settings for all series, or a [shared](slug:chart-tooltip-shared) tooltip for all categories. In this article: @@ -33,7 +33,7 @@ To enable tooltips for the data points of each individual series: >caption Enable the tooltip for a specific Chart Series -````CSHTML +````RAZOR @* Enable tooltip for a single Chart Series *@ @@ -73,7 +73,7 @@ To enable the same tooltip for all series: >caption Set a Common Tooltip for all series at once -````CSHTML +````RAZOR @* This example shows you how to create a common tooltip for all data points *@ @@ -125,7 +125,7 @@ You can customize the appearance of the individual series tooltip by using: >caption Configuration of the tooltips with applied customization settings -````CSHTML +````RAZOR @* This example shows how to customize the tooltip *@ @@ -205,7 +205,7 @@ The available series data point information in the `context` is: >caption Use the Tooltip Template and use the DataItem to get the value of the point and add additional information -````CSHTML +````RAZOR @* This example shows how to use the Template to provide an Icon and additional information from the model *@ @@ -262,5 +262,5 @@ The available series data point information in the `context` is: ## See Also - * [Chart Overview]({%slug components/chart/overview%}) - * [Chart Shared Tooltip]({%slug chart-tooltip-shared%}) + * [Chart Overview](slug:components/chart/overview) + * [Chart Shared Tooltip](slug:chart-tooltip-shared) diff --git a/components/chart/tooltip/shared.md b/components/chart/tooltip/shared.md index 6cad0b0b75..df2845041e 100644 --- a/components/chart/tooltip/shared.md +++ b/components/chart/tooltip/shared.md @@ -10,7 +10,7 @@ position: 2 # Shared Tooltip for Telerik Blazor Chart -The Telerik Chart allows you to show a unified tooltip for all categories in [Categorical]({%slug components/chart/databind%}#series-types) Charts. +The Telerik Chart allows you to show a unified tooltip for all categories in [Categorical](slug:components/chart/databind#series-types) Charts. In this article: * [Basics](#basics) @@ -21,7 +21,7 @@ In this article: ## Basics -The shared tooltip provides summarized information of all data points from the hovered category (applies for [Categorical Charts]({%slug components/chart/databind%}#series-types)). This tooltip will take precedence over tooltip settings defined for a specific series. +The shared tooltip provides summarized information of all data points from the hovered category (applies for [Categorical Charts](slug:components/chart/databind#series-types)). This tooltip will take precedence over tooltip settings defined for a specific series. To enable the shared tooltip: @@ -31,7 +31,7 @@ To enable the shared tooltip: >caption Basic configuration of a Chart with Shared Tooltip -````CSHTML +````RAZOR @* This example shows how to enable a Shared Tooltip *@ @@ -97,7 +97,7 @@ Each `Point` contains the following data: >caption Usage of the SharedTemplate -````CSHTML +````RAZOR @* This example shows how to use the SharedTemplate and extract information on the data points value, parse them to int and get the category from the context *@ @@ -145,5 +145,5 @@ Each `Point` contains the following data: ## See also -* [Chart Overview]({%slug components/chart/overview%}) -* [Chart Tooltip Overview]({%slug chart-tooltip-overview%}) +* [Chart Overview](slug:components/chart/overview) +* [Chart Tooltip Overview](slug:chart-tooltip-overview) diff --git a/components/chart/trendlines.md b/components/chart/trendlines.md index 01c857c706..68dc4120e7 100644 --- a/components/chart/trendlines.md +++ b/components/chart/trendlines.md @@ -62,7 +62,7 @@ Use the Linear Trendline to visualize the rise or decline of a specific quantity >caption Linear trendline in scatter line Chart series -`````CSHTML +`````RAZOR caption Line Chart with a moving average trendline -`````CSHTML +`````RAZOR caption Chart with an Exponential Trendline -`````CSHTML +`````RAZOR @@ -543,7 +543,7 @@ Use the Logarithmic Trendline to visualize data with rapid initial growth that s >caption Chart with a Logarithmic Trendline -`````CSHTML +`````RAZOR @@ -729,7 +729,7 @@ Use the Power Trendline to visualize data that follows a power-law relationship, >caption Chart with a Power Trendline -`````CSHTML +`````RAZOR @@ -916,7 +916,7 @@ Use the Polynomial Trendline to visualize complex data patterns not fitting the >caption Chart with a Polynomial Trendline -`````CSHTML +`````RAZOR diff --git a/components/chart/types/area.md b/components/chart/types/area.md index 161521a3b9..0b9d0c2661 100644 --- a/components/chart/types/area.md +++ b/components/chart/types/area.md @@ -16,7 +16,7 @@ The Blazo An Area chart emphasizes the volume of money, data or any other unit that the given series has encompassed. When backgrounds are semi-transparent, it lets the user clearly see where different sets of data overlap. -The Area Chart is similar to the [Range Area Chart]({%slug components/chart/types/rangearea%}), which allows the area to raise above the horizontal axis. +The Area Chart is similar to the [Range Area Chart](slug:components/chart/types/rangearea), which allows the area to raise above the horizontal axis. @[template](/_contentTemplates/chart/link-to-basics.md#understand-basics-and-databinding-first) @@ -30,7 +30,7 @@ The Area Chart is similar to the [Range Area Chart]({%slug components/chart/type >caption An area chart that shows product revenues -````CSHTML +````RAZOR @*Area series*@ @@ -92,7 +92,7 @@ You can render the lines between the points with different styles. The supported >caption Change the rendering Step, Color and Font of the Category Axis Labels -````CSHTML +````RAZOR @* Change the rendering Step, Color and Font of the Category Axis Labels *@ diff --git a/components/chart/types/bar.md b/components/chart/types/bar.md index f5a64b438a..bfd072f8d0 100644 --- a/components/chart/types/bar.md +++ b/components/chart/types/bar.md @@ -14,7 +14,7 @@ The Blazor ![bar chart](images/bar-chart.png) -The Bar Chart is similar to the [Range Bar Chart]({%slug components/chart/types/rangebar%}), which allows the bar to move away from the category axis. +The Bar Chart is similar to the [Range Bar Chart](slug:components/chart/types/rangebar), which allows the bar to move away from the category axis. @[template](/_contentTemplates/chart/link-to-basics.md#understand-basics-and-databinding-first) @@ -28,7 +28,7 @@ The Bar Chart is similar to the [Range Bar Chart]({%slug components/chart/types/ >caption A bar chart that shows product revenues -````CSHTML +````RAZOR Bar series @@ -74,7 +74,7 @@ The color of a series is controlled through the `Color` property that can take a >caption Configuring Label Template for the Value Axis and change the Font of the Category Axis. -````CSHTML +````RAZOR @* Add configuration settings for the Category and Value Axes *@ diff --git a/components/chart/types/bubble.md b/components/chart/types/bubble.md index c4b8379eca..f88519b0cf 100644 --- a/components/chart/types/bubble.md +++ b/components/chart/types/bubble.md @@ -10,7 +10,7 @@ position: 0 # Bubble Chart -The Blazor Bubble chart shows the data as points with coordinates and size defined by their items' values. You might think of a Bubble chart as a variation of the [Scatter chart]({%slug components/chart/types/scatter%}), in which the data points are replaced with bubbles. This allows a Bubble chart to display three dimensional data — two values for the items' coordinates and one for their size. +The Blazor Bubble chart shows the data as points with coordinates and size defined by their items' values. You might think of a Bubble chart as a variation of the [Scatter chart](slug:components/chart/types/scatter), in which the data points are replaced with bubbles. This allows a Bubble chart to display three dimensional data — two values for the items' coordinates and one for their size. ![bubble chart](images/bubble-chart.png) @@ -18,18 +18,17 @@ A Bubble chart is useful for visualizing different scientific relationships (e.g @[template](/_contentTemplates/chart/link-to-basics.md#understand-basics-and-databinding-first) -#### To create a bubble chart: +## Creating a Blazor Bubble Chart -1. add a `ChartSeries` to the `ChartSeriesItems` collection -2. set its `Type` property to `ChartSeriesType.Bubble` -3. provide a data collection to its `Data` property, which contains numerical data for the X and Y axes, and for the bubble size +To use a Chart component with Bubble series: +1. Add a `ChartSeries` to the `ChartSeriesItems` collection. +2. Set its `Type` property to `ChartSeriesType.Bubble`. +3. Provide a data collection to its `Data` property, which contains numerical data for the X and Y axes, and for the bubble size. >caption A bubble chart that shows projected population change on a plot of life expectancy versus fertility rate -````CSHTML -@* Bubble Series *@ - +````RAZOR @@ -90,9 +89,22 @@ A Bubble chart is useful for visualizing different scientific relationships (e.g new ModelData() { LifeExpectancy = 74.3, FertilityRate = 1.85, PopulationChange = 3000000, Country = "Great Britain" } }; } - ```` +## Bubble Sizing + +The Chart component determines the physical size of each bubble automatically: + +* The maximum bubble size is 20% of the smaller Chart dimension (width or height). This ensures that the largest bubbles do not occupy too much space. +* The minimum bubble size is 2% of the smaller Chart dimension, but not less than `10px`. This ensures that even the smallest bubbles are perceivable and accessible. The smallest bubble size also depends on the largest `Size` value in the Chart series. +* All bubble sizes are set proportionately, as long as they comply with the preceding rules. + +As a result of the above algorithms: + +* Bubble sizing may not be linear if the ratio between the smallest and largest `Size` values is too big. For example, a 10-fold bubble size difference is achievable with a large-enough Chart, but a 100-fold size difference is not supported. +* The Bubble Chart helps users compare bubble sizes in the same Chart instance, rather than between different instances. To compare bubbles from multiple series, define these series in the same Chart instance. + +If you need to [improve the bubble size comparability across several Charts](slug:chart-kb-bubble-size), then use a dummy data item with a `Size` value that matches the maximum `Size` value in all Chart instances. ## Bubble Chart Specific Appearance Settings @@ -102,10 +114,8 @@ The color of a series is controlled through the `Color` property that can take a The `ColorField` can change the color of individual items. To use it, pass a valid CSS color to the corresponding field in the model and the chart will use its values instead of the `Color` parameter. - @[template](/_contentTemplates/chart/link-to-basics.md#opacity-area-bubble) - ### Negative Values Negative values are allowed for the X and Y fields, because they are plotted on standard numerical axes. @@ -114,7 +124,7 @@ The size field should, generally, have positive values as it correlates to the p >caption Negative bubble size -````CSHTML +````RAZOR @* Negative bubble sizes can showcase decreases in values and can render in different color than the rest of the series *@ @@ -149,12 +159,11 @@ The size field should, generally, have positive values as it correlates to the p } ```` - @[template](/_contentTemplates/chart/link-to-basics.md#configurable-nested-chart-settings) @[template](/_contentTemplates/chart/link-to-basics.md#configurable-nested-chart-settings-numerical) - ## See Also - * [Live Demo: Bubble Chart](https://demos.telerik.com/blazor-ui/chart/bubble-chart) +* [Live Demo: Bubble Chart](https://demos.telerik.com/blazor-ui/chart/bubble-chart) +* [Configure Relative Bubble Sizes in Multiple Charts](slug:chart-kb-bubble-size) diff --git a/components/chart/types/candlestick.md b/components/chart/types/candlestick.md index 38103588e4..2d06716248 100644 --- a/components/chart/types/candlestick.md +++ b/components/chart/types/candlestick.md @@ -26,12 +26,12 @@ The diff --git a/components/chart/types/column.md b/components/chart/types/column.md index d8f30c55fc..8c84e0643a 100644 --- a/components/chart/types/column.md +++ b/components/chart/types/column.md @@ -14,7 +14,7 @@ The Bla ![column chart](images/column-chart.png) -The Column Chart is similar to the [Range Column Chart]({%slug components/chart/types/rangecolumn%}), which allows the column's low end to start above the horizontal axis. +The Column Chart is similar to the [Range Column Chart](slug:components/chart/types/rangecolumn), which allows the column's low end to start above the horizontal axis. @[template](/_contentTemplates/chart/link-to-basics.md#understand-basics-and-databinding-first) @@ -28,7 +28,7 @@ The Column Chart is similar to the [Range Column Chart]({%slug components/chart/ >caption A column chart that shows product revenues -````CSHTML +````RAZOR Column series @@ -84,7 +84,7 @@ The color of a series is controlled through the `Color` property that can take a >caption Configuring Label Rotation, Skipping the rendering of every second label and adding borders and padding to the Labels. -````CSHTML +````RAZOR @* Skip rendering every second label and customize them to have borders, padding and rotation. *@ diff --git a/components/chart/types/donut.md b/components/chart/types/donut.md index d3a5c5d05f..c832438b14 100644 --- a/components/chart/types/donut.md +++ b/components/chart/types/donut.md @@ -23,11 +23,11 @@ The Blaz 3. Provide a data model collection to its `Data` property 4. Set the `Field` and `CategoryField` properties to the corresponding fields in the model that carry the values and names that will be shown in the legend -If you use [simple data binding]({%slug components/chart/databind%}#independent-series-binding) and only provide values, the chart will not render a legend. +If you use [simple data binding](slug:components/chart/databind#independent-series-binding) and only provide values, the chart will not render a legend. >caption A donut chart that shows product revenues -````CSHTML +````RAZOR Donut series @@ -82,7 +82,7 @@ The following sections explain specific configuration options to the donut chart * [Visible In Legend](#visible-in-legend) * [Hole Size](#hole-size) * [Multiple Series](#multiple-series) -* [Customize Chart Elements - Nested Tags Settings](#customize-chart-elements---nested-tags-settings) +* [Customize Chart Elements - Nested Tags Settings](#customize-chart-elements-nested-tags-settings) ### Rotation @@ -92,7 +92,7 @@ By default, the first segment starts at the top. You can change that by using th You can control the color of the individual segments of the donut chart by providing a string with the desired color in the model, and setting the `ColorField` of the series to it. You can pass a valid CSS color (for example, `#abcdef`, `#f00`, or `blue`). -````CSHTML +````RAZOR @*Set color to the donut chart items*@ @@ -153,7 +153,7 @@ To explode (separate) a segment, use the `ExplodeField` property of the series a >caption Exploded Items -````CSHTML +````RAZOR @*Separate items from the main body of the chart*@ @@ -210,7 +210,7 @@ You can hide certain segments from the legend (for example, if their contributio >caption Hide segments from the legend -````CSHTML +````RAZOR @*Show only some items in the legend*@ @@ -270,7 +270,7 @@ You can hide certain segments from the legend (for example, if their contributio You can change the percentage that the hole in the middle takes from the entire diameter of the circle by setting the `HoleSize` property of the series. Setting `0` removes the hole, and `100` means the entire chart is the hole. -````CSHTML +````RAZOR Control the hole size of the donut chart @@ -323,7 +323,7 @@ You can use multiple series to showcase relationships within a data set, or seve You can also use the `ColorField` property to define a field with the segments' colors. With this, you can color-code different series and their relationships to one another. -````CSHTML +````RAZOR @* You can bind the entire chart to one collection of data, even though this example shows separate collections for each series *@ @@ -440,7 +440,7 @@ You can also use the `ColorField` property to define a field with the segments' >caption Customize Chart Title Margin, Series Label Font, and Borders -````CSHTML +````RAZOR @* Add margin to the Title, changing the Font and Borders of the labels. *@ diff --git a/components/chart/types/heatmap.md b/components/chart/types/heatmap.md index 3ca3b611e4..177b26b544 100644 --- a/components/chart/types/heatmap.md +++ b/components/chart/types/heatmap.md @@ -16,13 +16,12 @@ The Blazor H #### In this article: -* [Basics](#basics) * [Data Binding Notes](#data-binding-notes) * [Heatmap Chart Specific Appearance Settings](#heatmap-chart-specific-appearance-settings) * [Setting the Marker Type](#setting-the-marker-type) * [Color](#color) * [ColorField](#colorfield) - * [Customize Chart Elements - Nested Tags Settings](#customize-chart-elements--nested-tags-settings) + * [Customize Chart Elements - Nested Tags Settings](#customize-chart-elements-nested-tags-settings) @[template](/_contentTemplates/chart/link-to-basics.md#understand-basics-and-databinding-first) @@ -39,7 +38,7 @@ The Blazor H >caption A Heatmap Chart that shows commits made by developers -````CSHTML +````RAZOR @*Heatmap series*@ @@ -118,7 +117,7 @@ When you are data binding the Heatmap Chart you should have the following points ![problematic behavior](images/heatmap-problematic-behavior.png) -````CSHTML +````RAZOR @* Observe the behavior of the Heatmap chart when the values for the YAxis Categories does not match the values provided to the YField. The same behavior extends to the XAxis and XField. *@ @@ -203,7 +202,7 @@ To change the marker type you should set the `Type` parameter, exposed on the `C >caption Change the Type of the marker. -````CSHTML +````RAZOR @* Set the type of the marker to RoundedRect *@ @@ -276,7 +275,7 @@ The `Color` parameter controls the general color palette for the markers of the >caption Change the Color of the Heatmap. -````CSHTML +````RAZOR @* Set the color of the Heatmap to blue. *@ @@ -347,7 +346,7 @@ The `ColorField` parameter allows you to control the color of an individual mark >caption Provide a custom color to all markers in the Heatmap. -````CSHTML +````RAZOR @* Use the ColorField to provide custom color to each individual marker *@ @@ -421,7 +420,7 @@ The `ColorField` parameter allows you to control the color of an individual mark >caption Hide the Labels for both X and Y axes. -````CSHTML +````RAZOR @* Use the nested tag settings to hide the labels for both axes *@ diff --git a/components/chart/types/line.md b/components/chart/types/line.md index c3d91ee6b1..a666492f87 100644 --- a/components/chart/types/line.md +++ b/components/chart/types/line.md @@ -26,7 +26,7 @@ The Blazo >caption A line chart that shows product revenues -````CSHTML +````RAZOR Line series @@ -80,7 +80,7 @@ If some values are missing from the series data (they are `null`), you can have >caption A line chart that shows how to rotate the labels -````CSHTML +````RAZOR @* Change the rotation angle of the Labels *@ diff --git a/components/chart/types/ohlc.md b/components/chart/types/ohlc.md index 9eb104e23c..8af826ddf0 100644 --- a/components/chart/types/ohlc.md +++ b/components/chart/types/ohlc.md @@ -26,12 +26,12 @@ The OHLC * `CloseField` - the field with the Close value * `HighField` - the field with the High value * `LowField` - the field with the Low value -4. make the x-axis a [Date axis]({%slug components/chart/date-axis%}) - while the candlestick chart can work with simple string categories, it is designed to show financial data over time +4. make the x-axis a [Date axis](slug:components/chart/date-axis) - while the candlestick chart can work with simple string categories, it is designed to show financial data over time >caption An OHLC chart that shows product financial stock data -````CSHTML +````RAZOR @* OHLC chart *@ diff --git a/components/chart/types/pie.md b/components/chart/types/pie.md index 3584ff2e83..3c1c70cb17 100644 --- a/components/chart/types/pie.md +++ b/components/chart/types/pie.md @@ -25,11 +25,11 @@ The Blazor 3. provide a data model collection to its `Data` property 4. set the `Field` and `CategoryField` properties to the corresponding fields in the model that carry the values and names that will be shown in the legend -If you use [simple data binding]({%slug components/chart/databind%}#independent-series-binding) and only provide values, the chart will not render a legend. +If you use [simple data binding](slug:components/chart/databind#independent-series-binding) and only provide values, the chart will not render a legend. >caption A pie chart that shows product revenues -````CSHTML +````RAZOR Pie series @@ -81,7 +81,7 @@ By default, the first segment starts at the top. You can change that by using th You can control the color of the individual segments of the pie chart by providing a string with the desired color in the model, and setting the `ColorField` of the series to it. You can pass a valid CSS color (for example, `#abcdef`, `#f00`, or `blue`). -````CSHTML +````RAZOR Set color to the pie chart items @@ -137,7 +137,7 @@ To explode (separate) a segment, use the `ExplodeField` property of the series a >caption Exploded Items -````CSHTML +````RAZOR Separate items from the main body of the chart @@ -189,7 +189,7 @@ You can hide certain segments from the legend (for example, if their contributio >caption Hide segments from the legend -````CSHTML +````RAZOR Show only some items in the legend @@ -246,7 +246,7 @@ The main part of the Pie Chart is a circle. Thus, you may need to set both the ` >caption Setting Pie Chart Width and Height -````CSHTML +````RAZOR Chart Width caption A radar area chart that shows comparison between character evaluations -````CSHTML +````RAZOR @* Radar Area series*@ @@ -92,7 +92,7 @@ You can render the lines between the points with different styles. The supported >caption Change the first series line settings, the Color and Font of the Category Axis Labels and the legend border -````CSHTML +````RAZOR @* Change the line of the series, the category labels and the legend border *@ diff --git a/components/chart/types/radar-column.md b/components/chart/types/radar-column.md index 47720f0275..4a0dc474c6 100644 --- a/components/chart/types/radar-column.md +++ b/components/chart/types/radar-column.md @@ -28,7 +28,7 @@ Radar column charts are often used to make comparisons between several units tha >caption A radar column chart that shows comparison between the nutritional composition of two foods -````CSHTML +````RAZOR @* Radar Column series*@ diff --git a/components/chart/types/radar-line.md b/components/chart/types/radar-line.md index 87255ce26c..e276aa500e 100644 --- a/components/chart/types/radar-line.md +++ b/components/chart/types/radar-line.md @@ -28,7 +28,7 @@ Radar line charts are often used to make comparisons between several units that >caption A radar column chart that shows comparison between the nutritional composition of two foods -````CSHTML +````RAZOR @* Radar Line series*@ diff --git a/components/chart/types/rangearea.md b/components/chart/types/rangearea.md index 50749bafa1..a81a32c151 100644 --- a/components/chart/types/rangearea.md +++ b/components/chart/types/rangearea.md @@ -10,7 +10,7 @@ position: 0 # Range Area Chart -The Blazor Range Area Chart shows the data as a colored area between two continuous lines that pass through points defined by pairs of `from` and `to` values. The graph between the border lines has a different customizable color for each series. The Range Area Chart is similar to the [Area Chart]({%slug components/chart/types/area%}), which can be regarded as a Range Area Chart with zero `from` values. +The Blazor Range Area Chart shows the data as a colored area between two continuous lines that pass through points defined by pairs of `from` and `to` values. The graph between the border lines has a different customizable color for each series. The Range Area Chart is similar to the [Area Chart](slug:components/chart/types/area), which can be regarded as a Range Area Chart with zero `from` values. You can use the Range Area Chart to emphasize the difference between pairs of continuous value sequences. @@ -24,7 +24,7 @@ By default, the series backgrounds are semi-transparent, which lets the user cle 2. Set the series `Type` parameter to `ChartSeriesType.RangeArea`. 3. Provide a data collection to its `Data` property. You can use a [collection of arrays](#binding-range-area-series-to-collection-of-arrays) or a [collection of custom objects](#binding-range-area-series-to-custom-objects). 4. If the Range Area data is a collection of arrays, provide data for the `Categories` parameter of the `ChartCategoryAxis`. -5. (optional) Set `Visible="true"` to `` to show both the `from` and `to` labels. Alternatively, enable visibility or define [label `Template`]({%slug components/chart/label-template-format%}) for `` or ``. These are nested tags inside `` of the respective ``. +5. (optional) Set `Visible="true"` to `` to show both the `from` and `to` labels. Alternatively, enable visibility or define [label `Template`](slug:components/chart/label-template-format) for `` or ``. These are nested tags inside `` of the respective ``. ### Binding Range Area Series to Collection of Arrays @@ -34,7 +34,7 @@ Set the `Categories` parameter of the `ChartCategoryAxis` to `object[]`. The mem >caption Blazor Range Area Chart bound to arrays -````CSHTML +````RAZOR caption Blazor Range Area Chart bound to custom objects -````CSHTML +````RAZOR Blazor Range Bar Chart displays data as horizontal bars whose position and length vary according to pairs of `from` and `to` values. You can use a Range Bar Chart to show a comparison between several sets of data (for example, summaries of quantitative or time data). Each series is automatically colored differently for easier reading. The Range Bar Chart is similar to the [Bar Chart]({%slug components/chart/types/bar%}), which can be regarded as a Range Bar Chart with zero `from` values. +The Blazor Range Bar Chart displays data as horizontal bars whose position and length vary according to pairs of `from` and `to` values. You can use a Range Bar Chart to show a comparison between several sets of data (for example, summaries of quantitative or time data). Each series is automatically colored differently for easier reading. The Range Bar Chart is similar to the [Bar Chart](slug:components/chart/types/bar), which can be regarded as a Range Bar Chart with zero `from` values. @[template](/_contentTemplates/chart/link-to-basics.md#understand-basics-and-databinding-first) @@ -20,7 +20,7 @@ The 2. Set the series `Type` parameter to `ChartSeriesType.RangeBar`. 3. Provide a data collection to the series `Data` parameter. You can use a [collection of arrays](#binding-range-bar-series-to-collection-of-arrays) or a [collection of custom objects](#binding-range-column-series-to-custom-objects). 4. If the Range Bar data is a collection of arrays, provide data for the `Categories` parameter of the `ChartCategoryAxis`. -5. (optional) Set `Visible="true"` or define [label `Template`]({%slug components/chart/label-template-format%}) for `` or ``. These are nested tags inside `` of the respective ``. +5. (optional) Set `Visible="true"` or define [label `Template`](slug:components/chart/label-template-format) for `` or ``. These are nested tags inside `` of the respective ``. ### Binding Range Bar Series to Collection of Arrays @@ -30,7 +30,7 @@ Set the `Categories` parameter of the `ChartCategoryAxis` to `object[]`. The mem >caption Blazor Range Bar Chart bound to arrays -````CSHTML +````RAZOR @@ -94,7 +94,7 @@ Set the `Categories` parameter of the `ChartCategoryAxis` to `object[]`. The mem >caption Blazor Range Bar Chart bound to custom objects -````CSHTML +````RAZOR diff --git a/components/chart/types/rangecolumn.md b/components/chart/types/rangecolumn.md index 139b9741b3..642874f2f3 100644 --- a/components/chart/types/rangecolumn.md +++ b/components/chart/types/rangecolumn.md @@ -10,7 +10,7 @@ position: 0 # Range Column Chart -The Blazor Range Column Chart displays data as vertical bars whose position and height vary according to pairs of `from` and `to` values. You can use a Range Column Chart to show a comparison between several sets of data (for example, summaries of quantities or measurements for different time periods). Each series is automatically colored differently for easier perception. The Range Column Chart is similar to the [Column Chart]({%slug components/chart/types/column%}), which can be regarded as a Range Column Chart with zero `from` values. +The Blazor Range Column Chart displays data as vertical bars whose position and height vary according to pairs of `from` and `to` values. You can use a Range Column Chart to show a comparison between several sets of data (for example, summaries of quantities or measurements for different time periods). Each series is automatically colored differently for easier perception. The Range Column Chart is similar to the [Column Chart](slug:components/chart/types/column), which can be regarded as a Range Column Chart with zero `from` values. @[template](/_contentTemplates/chart/link-to-basics.md#understand-basics-and-databinding-first) @@ -20,7 +20,7 @@ The ` or ``. These are nested tags inside `` of the respective ``. +5. (optional) Set `Visible="true"` or define [label `Template`](slug:components/chart/label-template-format) for `` or ``. These are nested tags inside `` of the respective ``. ### Binding Range Column Series to Collection of Arrays @@ -30,7 +30,7 @@ Set the `Categories` parameter of the `ChartCategoryAxis` to `object[]`. The mem >caption Blazor Range Column Chart bound to arrays -````CSHTML +````RAZOR caption Blazor Range Column Chart bound to custom objects -````CSHTML +````RAZOR caption A bubble chart that shows projected population change on a plot of life expectancy versus fertility rate -````CSHTML +````RAZOR @* Scatter Series *@ diff --git a/components/chart/types/scatterline.md b/components/chart/types/scatterline.md index f27fe7356f..3c20ad7071 100644 --- a/components/chart/types/scatterline.md +++ b/components/chart/types/scatterline.md @@ -10,7 +10,7 @@ position: 0 # ScatterLine Chart -The Blazor ScatterLine chart is very similar to the [Scatter]({%slug components/chart/types/scatter%}) chart—it shows data as points defined by their items' values, but the points are connected by lines and thus it can account for missing values in a series. Its x-axis is numerical and does not require items. +The Blazor ScatterLine chart is very similar to the [Scatter](slug:components/chart/types/scatter) chart—it shows data as points defined by their items' values, but the points are connected by lines and thus it can account for missing values in a series. Its x-axis is numerical and does not require items. You would usually use ScatterLine charts for showing the relation between different sets of data, for example scientific (experimental) results, or when you need to have two numerical axes on a line-type chart. @@ -27,7 +27,7 @@ You would usually use ScatterLine charts for showing the relation between differ >caption A scatter line chart that shows battery charging percentage over minutes depending on the charging current -````CSHTML +````RAZOR @* ScatterLine Series *@ diff --git a/components/chart/types/waterfall.md b/components/chart/types/waterfall.md index b5df63e8e0..aa67406ed1 100644 --- a/components/chart/types/waterfall.md +++ b/components/chart/types/waterfall.md @@ -31,7 +31,7 @@ To define a data item as a running total or total, include a corresponding data >caption A Waterfall Chart that shows cash flow -````CSHTML +````RAZOR diff --git a/components/checkbox/accessibility/wai-aria-support.md b/components/checkbox/accessibility/wai-aria-support.md index 3dbb12916c..79935f11a1 100644 --- a/components/checkbox/accessibility/wai-aria-support.md +++ b/components/checkbox/accessibility/wai-aria-support.md @@ -62,8 +62,11 @@ The CheckBox has been tested with the following screen readers and browsers comb +## Keyboard Navigation + +For details on how the keyboard navigation works in Telerik UI for Blazor, refer to the [Accessibility Overview](slug:accessibility-overview#keyboard-navigation) article. + ## See Also -* [Blazor CheckBox Overview (Demo)](https://demos.telerik.com/blazor-ui/checkbox/overview) -* [Accessibility in Telerik UI for Blazor]({% slug accessibility-overview %}) -* [Accessibility Theme]({% slug themes-accessibility-swatch %}) \ No newline at end of file +* [Blazor CheckBox Demos](https://demos.telerik.com/blazor-ui/checkbox/overview) +* [Accessibility in Telerik UI for Blazor](slug:accessibility-overview) \ No newline at end of file diff --git a/components/checkbox/appearance.md b/components/checkbox/appearance.md index e1dd72b636..345019d71c 100644 --- a/components/checkbox/appearance.md +++ b/components/checkbox/appearance.md @@ -30,7 +30,7 @@ You can increase or decrease the size of the CheckBox by setting the `Size` attr >caption The built-in sizes -````CSHTML +````RAZOR @{ var fields = typeof(Telerik.Blazor.ThemeConstants.CheckBox.Size) .GetFields(System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Static @@ -65,7 +65,7 @@ The `Rounded` attribute applies the `border-radius` CSS rule to the checkbox to >caption The built-in values of the Rounded attribute -````CSHTML +````RAZOR @* The built-in values of the Rounded attribute. *@ @{ diff --git a/components/checkbox/events.md b/components/checkbox/events.md index eb007e1066..548c728ecb 100644 --- a/components/checkbox/events.md +++ b/components/checkbox/events.md @@ -23,7 +23,7 @@ The `ValueChanged` event fires every time the `Value` parameter changes. >caption Handle CheckBox ValueChanged -````CSHTML +````RAZOR @* CheckBox one-way Value binding with ValueChanged *@

Deliveries:

@@ -114,7 +114,7 @@ The `OnChange` event fires every time the `Value` parameter changes. The key dif >caption Handle OnChange -````CSHTML +````RAZOR @*This example showcases the usage of OnChange event in conjunction with two-way data binding*@ caption Handle IndeterminateChanged event -````CSHTML +````RAZOR @* Click the checkbox when it is indeterminate to toggle its state to see when the event fires. *@
@@ -189,7 +189,7 @@ The `OnBlur` event fires when the component loses focus. >caption Handle the OnBlur event -````CSHTML +````RAZOR @* You do not have to use OnChange to react to loss of focus *@ `. @@ -23,7 +23,7 @@ For example, if you bind the checkbox to a nullable field and its value is `null >caption Basic setup - show Indeterminate checkbox when its Value is not defined (null) -````CSHTML +````RAZOR @* This example shows how to make a checkbox indeterminate when its Value is unknown (e.g., null) It also shows that when the user changes the state of the CheckBox, the Indeterminate status is set to false @@ -48,7 +48,7 @@ Checked: @TheValue >caption Observe the behavior of the Indeterminate state -````CSHTML +````RAZOR @*Observe the behavior of the Select all checkbox*@ @@ -170,5 +170,5 @@ Checked: @TheValue ## See Also -* [Checkbox Overview]({%slug checkbox-overview%}) -* [Checkbox Events]({%slug checkbox-events%}) +* [Checkbox Overview](slug:checkbox-overview) +* [Checkbox Events](slug:checkbox-events) diff --git a/components/checkbox/overview.md b/components/checkbox/overview.md index 9a63f4fd91..088c198502 100644 --- a/components/checkbox/overview.md +++ b/components/checkbox/overview.md @@ -10,7 +10,7 @@ position: 0 # Blazor Checkbox Overview -The Blazor Checkbox component allows you to add more customizable checkboxes to your application. It maintains the behavior of the standard HTML checkbox and provides checked, unchecked and [indeterminate]({%slug checkbox-indeterminate-state%}) states. +The Blazor Checkbox component allows you to add more customizable checkboxes to your application. It maintains the behavior of the standard HTML checkbox and provides checked, unchecked and [indeterminate](slug:checkbox-indeterminate-state) states. ## Creating Blazor Checkbox @@ -22,7 +22,7 @@ The Blazor >caption Basic setup of the Telerik CheckBox using two-way data binding. -````CSHTML +````RAZOR @*Basic setup of the Telerik CheckBox Component*@ @@ -35,17 +35,17 @@ The Blazor ## Indeterminate State -In addition to basic *checked* and *unchecked* states, the Blazor CheckBox has a third state - *indeterminate*. [Read more about the Blazor Checkbox indeterminate state]({%slug checkbox-indeterminate-state%}). +In addition to basic *checked* and *unchecked* states, the Blazor CheckBox has a third state - *indeterminate*. [Read more about the Blazor Checkbox indeterminate state](slug:checkbox-indeterminate-state). ## Appearance -The Checkbox component provides size and border settings to control its appearance. [Read more about the Blazor Checkbox appearance settings]({%slug checkbox-appearance%}). +The Checkbox component provides size and border settings to control its appearance. [Read more about the Blazor Checkbox appearance settings](slug:checkbox-appearance). >tip To learn more about the appearance, anatomy, and accessibility of the CheckBox, visit the [Progress Design System Kit documentation](https://www.telerik.com/design-system/docs/components/checkbox/)—an information portal offering rich component usage guidelines, descriptions of the available style variables, and globalization support details. ## Events -The Blazor Checkbox fires value change, focus and state change events that you can handle and further customize its behavior. [Read more about the Blazor Checkbox events]({%slug checkbox-events%}). +The Blazor Checkbox fires value change, focus and state change events that you can handle and further customize its behavior. [Read more about the Blazor Checkbox events](slug:checkbox-events). ## Checkbox Parameters @@ -58,17 +58,17 @@ The Blazor CheckBox provides various parameters that allow you to configure the | `Class` | `string` | Renders a custom CSS class to the `` element. | | `Enabled` | `bool` | Whether the component is enabled. | | `Id` | `string` | Renders as the `id` attribute on the `` element, so you can attach a `
@@ -93,11 +93,11 @@ else ## Next Steps -* [Explore the CheckBox Indeterminate State]({%slug checkbox-indeterminate-state%}) +* [Explore the CheckBox Indeterminate State](slug:checkbox-indeterminate-state) -* [Handle the CheckBox Events]({%slug checkbox-events%}) +* [Handle the CheckBox Events](slug:checkbox-events) ## See Also * [Live CheckBox Demos](https://demos.telerik.com/blazor-ui/checkbox/overview) -* [CheckBox API Reference](/blazor-ui/api/Telerik.Blazor.Components.TelerikCheckBox-1) +* [CheckBox API Reference](slug:Telerik.Blazor.Components.TelerikCheckBox-1) diff --git a/components/chip/accessibility/wai-aria-support.md b/components/chip/accessibility/wai-aria-support.md new file mode 100644 index 0000000000..34a961bf19 --- /dev/null +++ b/components/chip/accessibility/wai-aria-support.md @@ -0,0 +1,67 @@ +--- +title: Wai-Aria Support +page_title: Telerik UI for Blazor Chip Documentation | Chip Accessibility +description: "Get started with the Telerik UI for Blazor Chip and learn about its accessibility support for WAI-ARIA, Section 508, and WCAG 2.2." +tags: telerik,blazor,accessibility,wai-aria,wcag +slug: chip-wai-aria-support +position: 50 +--- + +# Blazor Chip Accessibility + +@[template](/_contentTemplates/common/parameters-table-styles.md#table-layout) + + + +Out of the box, the Telerik UI for Blazor Chip provides extensive accessibility support and enables users with disabilities to acquire complete control over its features. + + +The Chip is compliant with the [Web Content Accessibility Guidelines (WCAG) 2.2 AA](https://www.w3.org/TR/WCAG22/) standards and [Section 508](https://www.section508.gov/) requirements, follows the [Web Accessibility Initiative - Accessible Rich Internet Applications (WAI-ARIA)](https://www.w3.org/WAI/ARIA/apg/) best practices for implementing the [keyboard navigation](#keyboard-navigation) for its `component` role, provides options for managing its focus and is tested against the most popular screen readers. + +## WAI-ARIA + + +This section lists the selectors, attributes, and behavior patterns supported by the component and its composite elements, if any. + +| Selector | Attribute | Usage | +| -------- | --------- | ----- | +| `*:not(.k-chip-list) > .k-chip` | `role=button` | Announces that a chip is an optional inner component within the Chip list. | +| `*:not(.k-chip-list) > .k-chip.k-selected` | `aria-pressed=true` | Announces that the Chip has been selected. | +| `*:not(.k-chip-list) > .k-chip:not(.k-selected)` | `aria-pressed=false` | Announces that the Chip has not benn selected. | + +## Resources + +[WAI-ARIA Authoring Practices: Button Pattern](https://www.w3.org/WAI/ARIA/apg/patterns/button/) + +## Section 508 + + +The Chip is fully compliant with the [Section 508 requirements](http://www.section508.gov/). + +## Testing + + +The Chip has been extensively tested automatically with [axe-core](https://github.com/dequelabs/axe-core) and manually with the most popular screen readers. + +> To report any accessibility issues, contact the team through the [Telerik Support System](https://www.telerik.com/account/support-center). + +### Screen Readers + + +The Chip has been tested with the following screen readers and browsers combinations: + +| Environment | Tool | +| ----------- | ---- | +| Firefox | NVDA | +| Chrome | JAWS | +| Microsoft Edge | JAWS | + + + +## Keyboard Navigation + +For details on how the Chip keyboard navigation works, refer to the [Blazor Chip Accessibility and Keyboard Navigation Demo](https://demos.telerik.com/blazor-ui/chip/keyboard-navigation). + +## See Also + +* [Accessibility in Telerik UI for Blazor](slug:accessibility-overview) \ No newline at end of file diff --git a/components/chip/appearance.md b/components/chip/appearance.md index 3a081127bf..1d435de01b 100644 --- a/components/chip/appearance.md +++ b/components/chip/appearance.md @@ -28,7 +28,7 @@ The `FillMode` affects the presence of a background and borders. You can set it >caption The built-in Fill modes -````CSHTML +````RAZOR @* These are all built-in fill modes *@ @{ @@ -67,7 +67,7 @@ The `Rounded` attribute applies the `border-radius` CSS rule to the Chip to achi >caption The built-in values of the Rounded attribute -````CSHTML +````RAZOR @* The built-in values of the Rounded attribute. *@ @{ @@ -108,7 +108,7 @@ You can increase or decrease the size of the Chip by setting the `Size` attribut >caption The built-in sizes -````CSHTML +````RAZOR @{ var fields = typeof(Telerik.Blazor.ThemeConstants.Chip.Size) .GetFields(System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Static @@ -148,7 +148,7 @@ The `ThemeColor` parameter applies a predefined text color and background color. >caption The built-in ThemeColors -````CSHTML +````RAZOR @{ var fields = typeof(Telerik.Blazor.ThemeConstants.Chip.ThemeColor) .GetFields(System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Static @@ -177,7 +177,7 @@ The `ThemeColor` parameter applies a predefined text color and background color. ## Next Steps -* [Handle Chip events]({%slug chip-events%}) +* [Handle Chip events](slug:chip-events) ## See Also diff --git a/components/chip/events.md b/components/chip/events.md index 3fd5ba298b..73d3e6c982 100644 --- a/components/chip/events.md +++ b/components/chip/events.md @@ -22,7 +22,7 @@ The `OnClick` event fires when the user clicks or taps on the Chip component. Th ## OnRemove -The `OnRemove` event fires when the user clicks the remove icon of the Chip. The event handler receives a `ChipRemoveEventArgs` object which provides the value of the [`Text` parameter]({%slug chip-overview%}#chip-parameters) of the clicked Chip. You can cancel the event by setting the `IsCancelled` property to `true`. +The `OnRemove` event fires when the user clicks the remove icon of the Chip. The event handler receives a `ChipRemoveEventArgs` object which provides the value of the [`Text` parameter](slug:chip-overview#chip-parameters) of the clicked Chip. You can cancel the event by setting the `IsCancelled` property to `true`. ## SelectedChanged @@ -32,7 +32,7 @@ The `SelectedChanged` event fires when the `Selectable` parameter is `true` and >caption Handle the Chip events -````CSHTML +````RAZOR Blazor Chip component shows a piece of information in a compact form. The chip can be selected, removed or disabled. You can respond to various user interactions through the exposed [events]({%slug chip-events%}), and customize the [appearance]({%slug chip-appearance%}) of the Telerik Chip for Blazor. +The Blazor Chip component shows a piece of information in a compact form. The chip can be selected, removed or disabled. You can respond to various user interactions through the exposed [events](slug:chip-events), and customize the [appearance](slug:chip-appearance) of the Telerik Chip for Blazor. ## Creating Blazor Chip @@ -22,7 +22,7 @@ To use a Telerik Chip for Blazor: >caption Basic Chip for Blazor -````CSHTML +````RAZOR @@ -43,24 +43,24 @@ To use a Telerik Chip for Blazor: ## Events -[The Chip component fires events for clicks, selection and removal. Read more about them here.]({%slug chip-events%}) +[The Chip component fires events for clicks, selection and removal. Read more about them here.](slug:chip-events) ## Appearance -You can customize the appearance of the Blazor Chip via a variety of built-in customization options. [Read more about the Chip appearance settings...]({%slug chip-appearance%}) +You can customize the appearance of the Blazor Chip via a variety of built-in customization options. [Read more about the Chip appearance settings...](slug:chip-appearance) >tip To learn more about the appearance, anatomy, and accessibility of the Chip, visit the [Progress Design System Kit documentation](https://www.telerik.com/design-system/docs/components/chip/)—an information portal offering rich component usage guidelines, descriptions of the available style variables, and globalization support details. ## Chip Parameters -The table below lists the Chip parameters. Also check the [Chip API Reference](/blazor-ui/api/Telerik.Blazor.Components.TelerikChip) for all parameters, methods and events. +The table below lists the Chip parameters. Also check the [Chip API Reference](slug:Telerik.Blazor.Components.TelerikChip) for all parameters, methods and events. @[template](/_contentTemplates/common/parameters-table-styles.md#table-layout) | Parameter | Type and Default Value | Description | | --- | --- | --- | | `AriaLabel` | `string` | Maps to the `aria-label` attribute of the `
` element. Use this parameter if the text that labels the component is not visible. | -| `Class` | `string` | An additional CSS class for the `
` element. Use it to [customize the component styles and override the theme]({%slug themes-override%}). | +| `Class` | `string` | An additional CSS class for the `
` element. Use it to [customize the component styles and override the theme](slug:themes-override). | | `Disabled` | `bool` | Specifies if the Chip is disabled. | | `Icon` | `object` | Use this parameter to render an icon in the chip. | | `Id` | `string` | Renders as the `id` attribute on the `` element. -The examples below use binding to string data for simplicity, but you can use [full models]({%slug components/combobox/databind%}) as well. Make sure to review the [Data Binding - Missing Value or Data]({%slug components/combobox/databind%}#missing-value-or-data) section to provide all necessary parameters to the component if you do so. The type of the argument in the lambda expression must match the `Value` type of the component, and the `ValueField` type (if `ValueField` is set). +The examples below use binding to string data for simplicity, but you can use [full models](slug:components/combobox/databind) as well. Make sure to review the [Data Binding - Missing Value or Data](slug:components/combobox/databind#missing-value-or-data) section to provide all necessary parameters to the component if you do so. The type of the argument in the lambda expression must match the `Value` type of the component, and the `ValueField` type (if `ValueField` is set). >caption Handle ValueChanged with list values -````CSHTML +````RAZOR
  • ComboBox Value: @ComboValue
  • Event Log: @EventLog
  • @@ -61,7 +61,7 @@ The examples below use binding to string data for simplicity, but you can use [f >caption Handle ValueChanged with custom values - the event fires on every keystroke -````CSHTML +````RAZOR
    • ComboBox Value: @ComboValue
    • Event Log: @EventLog
    • @@ -107,11 +107,11 @@ The `OnChange` event represents a user action - confirmation of the current valu * `OnChange` does not prevent two-way binding (the `@bind-Value` syntax) * `OnChange` fires when the user presses `Enter` in the input, or blurs the input (for example, clicks outside of the combo box). It does not fire on every keystroke, even when `AllowCustom="true"`, but it fires when an item is selected from the dropdown. To get the selected item, you can check if the new value is present in the data source. -See the [ComboBox Overview - Selected Item]({%slug components/combobox/overview%}#selected-item) article for details on when the event fires and how item selection and `Value` work. +See the [ComboBox Overview - Selected Item](slug:components/combobox/overview#selected-item) article for details on when the event fires and how item selection and `Value` work. >caption Handle OnChange without custom values - to get a value from the list, you must write text that will match the text of an item (e.g, "item 5"). -````CSHTML +````RAZOR @result
      @selectedValue @@ -143,7 +143,7 @@ See the [ComboBox Overview - Selected Item]({%slug components/combobox/overview% >caption Handle OnChange with custom values - the event fires on blur or enter -````CSHTML +````RAZOR @result
      @selectedValue @@ -175,26 +175,26 @@ See the [ComboBox Overview - Selected Item]({%slug components/combobox/overview% ## OnRead -You can use the [`OnRead` event]({%slug common-features-data-binding-onread%}) to provide data to the component based on custom logic and the current user input and/or scroll position (when using [virtualization]({%slug combobox-virtualization%})). The event fires when: +You can use the [`OnRead` event](slug:common-features-data-binding-onread) to provide data to the component based on custom logic and the current user input and/or scroll position (when using [virtualization](slug:combobox-virtualization)). The event fires when: * The component initializes. -* The user [filters]({%slug components/combobox/filter%}). -* The user scrolls with [virtualization]({%slug combobox-virtualization%}) enabled. +* The user [filters](slug:components/combobox/filter). +* The user scrolls with [virtualization](slug:combobox-virtualization) enabled. You can also call remote data through `async` operations. -Find out how to [get the applied filtering and grouping criteria]({%slug common-features-descriptors%}). +Find out how to [get the applied filtering and grouping criteria](slug:common-features-descriptors). When using `OnRead`, make sure to set `TItem` and `TValue`. >caption Custom Data according to the user input in the ComboBox ->tip You can also [debounce the service calls and implement minimum filter length]({%slug combo-kb-debounce-onread%}). +>tip You can also [debounce the service calls and implement minimum filter length](slug:combo-kb-debounce-onread). @[template](/_contentTemplates/common/dropdowns-virtualization.md#value-in-onread) -````CSHTML +````RAZOR

      @SelectedValue

      tip This example uses plain strings for brevity, you can use full models - see the [data binding](data-bind) article for examples. You can also use [custom values](custom-value). +>tip This example uses plain strings for brevity, you can use full models - see the [data binding](slug:components/combobox/databind) article for examples. You can also use [custom values](slug:components/combobox/custom-value). >caption Filter large local data through the Telerik DataSource extensions -````CSHTML +````RAZOR @using Telerik.DataSource.Extensions

      Selected Id: @SelectedValue

      @@ -316,7 +316,7 @@ The event handler receives as an argument an `ComboBoxOpenEventArgs` object that | --- | --- | | `IsCancelled` | Set the `IsCancelled` property to `true` to cancel the opening of the popup. | -````CSHTML +````RAZOR | `Item` | The current item that renders in the ComboBox. | | `Class` | The custom CSS class that will be added to the item. | -````CSHTML +````RAZOR @* Customize an item in the ComboBox *@ + +@code { + private CompositeFilterDescriptor Value { get; set; } = new CompositeFilterDescriptor(); + private string EventMessage { get; set; } = string.Empty; + + private void OnFilterUpdate() + { + EventMessage = $"Filter updated at {DateTime.Now:HH:mm:ss}"; + } + + public class Person + { + public int EmployeeId { get; set; } + public string Name { get; set; } = string.Empty; + public int AgeInYears { get; set; } + } +} +```` + ## ValueChanged The `ValueChanged` event fires when the value has changed. Its event handler receives the updated `CompositeFilterDescriptor` as an argument. ->caption Handle ValueChanged. +> The `ValueChanged` event is deprecated and will be removed in future versions. Use the `OnUpdate` event instead. + +>caption Handle ValueChanged -````CSHTML +````RAZOR @* This code snippet showcases an example of how to handle the ValueChanged event. *@ @using Telerik.DataSource diff --git a/components/filter/fields/operators.md b/components/filter/fields/operators.md index 01b99d440d..52049e92cb 100644 --- a/components/filter/fields/operators.md +++ b/components/filter/fields/operators.md @@ -15,13 +15,13 @@ The `Operators` parameter takes a literal with the available operators for each ## Supported Fields Operators -[Read about the supported Filter Fields Operators...]({%slug common-features-filter-operators%}) +[Read about the supported Filter Fields Operators...](slug:common-features-filter-operators) **To configure a Field Operators:** 1. Provide list of `` for every Field. -````CSHTML +````RAZOR @using Telerik.DataSource; @using Telerik.DataSource.Extensions; diff --git a/components/filter/fields/overview.md b/components/filter/fields/overview.md index 944d2540c4..58f74dc42c 100644 --- a/components/filter/fields/overview.md +++ b/components/filter/fields/overview.md @@ -9,7 +9,7 @@ position: 0 --- # Filter Fields -You can define different Fields settings. For example, names, labels, and [filter operators]({%slug filter-operators%}). +You can define different Fields settings. For example, names, labels, and [filter operators](slug:filter-operators). ## FilterField Parameters @@ -19,9 +19,9 @@ The following parameters enable you to customize the appearance of the Blazor Fi | Parameter | Type | Description | | ----------- | ----------- | ----------- | -| `DefaultFilterOperator` | `FilterOperator` | Sets the default filter operator for the Field. Accepts a member of the `FilterOperator` enum. The selected operator must be applicable for the specific data type. Check the supported options in the [Filter Operators]({%slug common-features-filter-operators%}) article. +| `DefaultFilterOperator` | `FilterOperator` | Sets the default filter operator for the Field. Accepts a member of the `FilterOperator` enum. The selected operator must be applicable for the specific data type. Check the supported options in the [Filter Operators](slug:common-features-filter-operators) article. | `Label` | `string` | Specifies the string displayed for the given field. | | `Name` | `string` | Specifies the field to be used when filtering. | -| `Operators` | `IEnumerable` | Specifies the [available filter operators]({%slug filter-operators%}#supported-fields-operators). If not defined, the component will use a default list of available operators based on the field type. | +| `Operators` | `IEnumerable` | Specifies the [available filter operators](slug:filter-operators#supported-fields-operators). If not defined, the component will use a default list of available operators based on the field type. | | `Type` | `Type` | Specifies the field type. This will determine the filter value editor. | | `ValueTemplate` | `RenderFragment` | Use to override the default rendering of the filter field value. | \ No newline at end of file diff --git a/components/filter/fields/templates.md b/components/filter/fields/templates.md index f89ed89dc0..b29fa9b88d 100644 --- a/components/filter/fields/templates.md +++ b/components/filter/fields/templates.md @@ -20,16 +20,16 @@ The `FilterField` provides the following templates: The `ValueTemplate` allows you to customize the default value editor of a single Filter Field. You can replace the default editor component or change the component settings. -The `context` of the`ValueTemplate` is of type [`FilterFieldValueTemplateContext`](/blazor-ui/api/telerik.blazor.components.filterfieldvaluetemplatecontext). You can get and set its `FilterDescriptor` property, which is of type [`FilterDescriptor`](/blazor-ui/api/telerik.datasource.filterdescriptor). +The `context` of the`ValueTemplate` is of type [`FilterFieldValueTemplateContext`](slug:telerik.blazor.components.filterfieldvaluetemplatecontext). You can get and set its `FilterDescriptor` property, which is of type [`FilterDescriptor`](slug:telerik.datasource.filterdescriptor). > The `FilterDescriptor` `Value` property is of type `object` and is `null` by default. As a result, the `Value` of the component inside the `ValueTemplate` must be `nullable` for all types, except `string`. -To use the Filter Field value template, add a `` tag inside the [FilterField]({%slug filter-fields%}). +To use the Filter Field value template, add a `` tag inside the [FilterField](slug:filter-fields). >caption Using FilterField ValueTemplate -````CSHMTL +````RAZOR @using Telerik.DataSource @using Telerik.DataSource.Extensions @@ -140,4 +140,4 @@ To use the Filter Field value template, add a `` tag inside the [ ## See Also * [Live Demo: Filter](https://demos.telerik.com/blazor-ui/filter/templates) - * [FilterField: Overview]({%slug filter-fields%}) + * [FilterField: Overview](slug:filter-fields) diff --git a/components/filter/integration.md b/components/filter/integration.md index bc8e70161e..2d60a16cb7 100644 --- a/components/filter/integration.md +++ b/components/filter/integration.md @@ -25,14 +25,12 @@ This article contains the following sections: **To integrate the Filter with the Telerik Grid, you need to:** -1. Set the Value parameter of the Filter via [one-way]({%slug filter-events%}#valuechanged) or two-way binding. +1. Set the Value parameter of the Filter via [one-way](slug:filter-events#valuechanged) or two-way binding. If you want to filter at the moment of change, use Filter with a one-way bound value. 2. Update the Grid data based on the Filter value. ->caption Filter with two-way bound value in Grid. If you want to filter at the moment of change, use Filter with a one-way bound value. +>caption Filter with two-way bound value in Grid -
      - -````Two-way +````RAZOR @using Telerik.DataSource; @using Telerik.DataSource.Extensions; @@ -108,76 +106,7 @@ This article contains the following sections: } } ```` -````One-way -@using Telerik.DataSource; -@using Telerik.DataSource.Extensions; - - - - - - - - - - - - - - - - - - - -@code { - public IEnumerable InitialData { get; set; } - public IEnumerable GridData { get; set; } - - private void OnValueChanged(CompositeFilterDescriptor filter) - { - var dataSourceRequest = new DataSourceRequest { Filters = new List{ filter } }; - - var datasourceResult = InitialData.ToDataSourceResult(dataSourceRequest); - GridData = datasourceResult.Data.Cast().ToList(); - } - - protected override void OnInitialized() - { - LoadData(); - base.OnInitialized(); - } - - void LoadData() - { - InitialData = Enumerable.Range(1, 100).Select(x => new Person - { - EmployeeId = x, - Name = "name " + x, - AgeInYears = x * 2, - IsOutOfOffice = x % 2 == 0 - }); - - GridData = new List(InitialData); - } - - public class Person - { - public int EmployeeId { get; set; } - - public string Name { get; set; } - - public int AgeInYears { get; set; } - - public bool IsOutOfOffice { get; set; } - } -} -```` >caption The result from the above code snippet. ![Blazor Filter Grid Integration](images/filter-grid-integration.gif) @@ -189,9 +118,9 @@ This article contains the following sections: 1. Set the Value parameter of the Filter via one-way or two-way binding. 2. Update the TreeView data based on the Filter value. ->caption Use Filter in TreeView. +>caption Use Filter in TreeView -````CSHTML +````RAZOR @using Telerik.DataSource @using Telerik.DataSource.Extensions @@ -337,9 +266,9 @@ This article contains the following sections: 1. Set the Value parameter of the Filter via one-way or two-way binding. 2. Update the TreeList data based on the Filter value. ->caption Use Filter in TreeList. +>caption Use Filter in TreeList -````CSHTML +````RAZOR @using Telerik.DataSource @using Telerik.DataSource.Extensions @@ -448,7 +377,7 @@ This article contains the following sections: >caption Use Filter in ListView. -````CSHTML +````RAZOR @using Telerik.DataSource @using Telerik.DataSource.Extensions @@ -525,7 +454,7 @@ This article contains the following sections: >important Not every type of Chart is compatible with the Filter component. -````CSHTML +````RAZOR @using Telerik.DataSource @using Telerik.DataSource.Extensions diff --git a/components/filter/overview.md b/components/filter/overview.md index 0b9e124cb1..3ebe51c5e3 100644 --- a/components/filter/overview.md +++ b/components/filter/overview.md @@ -11,7 +11,7 @@ position: 0 # Blazor Filter Overview The Blazor Filter component serves as a complementary addition to data-bound components that do not have built-in filtering. -The component gives a unified way to build filter descriptors using its [fields]({%slug filter-fields%}). You can also define different [operators]({%slug filter-operators%}) and use these filter descriptors to filter data. +The component gives a unified way to build filter descriptors using its [fields](slug:filter-fields). You can also define different [operators](slug:filter-operators) and use these filter descriptors to filter data. ## Creating Blazor Filter 1. Use the `TelerikFilter` tag to add the component to your razor page. @@ -21,7 +21,7 @@ The component gives a unified way to build filter descriptors using its [fields] >caption A basic configuration of the Telerik Filter. -````CSHTML +````RAZOR @* This code snippet showcases an example of a basic Filter configuration. *@ @using Telerik.DataSource @@ -52,10 +52,10 @@ The component gives a unified way to build filter descriptors using its [fields] ```` ## Fields -The fields are responsible for setting up the Filter information. [Read more about the supported Blazor Filter fields...]({%slug filter-fields%}) +The fields are responsible for setting up the Filter information. [Read more about the supported Blazor Filter fields...](slug:filter-fields) ## Events -The Blazor Filter generates events that you can handle and further customize its behavior. [Read more about the Blazor Filter events...]({%slug filter-events%}). +The Blazor Filter generates events that you can handle and further customize its behavior. [Read more about the Blazor Filter events...](slug:filter-events). ## Filter Parameters The Blazor Filter provides parameters that allow you to configure the component: @@ -63,7 +63,7 @@ The Blazor Filter provides parameters that allow you to configure the component: | Parameter | Type | Description | | ----------- | ----------- | ----------- | | `Class` | `string` | The class that will be rendered on the outermost element. | -| `Value` | [`CompositeFilterDescriptor`]({%slug common-features-descriptors%}#filtering) | Sets the value of the Filter component. | +| `Value` | [`CompositeFilterDescriptor`](slug:common-features-descriptors#filtering) | Sets the value of the Filter component. | ## Filter Reference and Methods @@ -75,7 +75,7 @@ The Filter exposes methods for programmatic operation. To use them, define a ref >caption Using the Filter component reference and methods -````CSHTML +````RAZOR @using Telerik.DataSource @using Telerik.DataSource.Extensions @@ -189,9 +189,9 @@ The Filter exposes methods for programmatic operation. To use them, define a ref ## Next Steps -[Configure the Filter Fields]({%slug filter-fields%}) +[Configure the Filter Fields](slug:filter-fields) -[Using the Filter Events]({%slug filter-events%}) +[Using the Filter Events](slug:filter-events) ## See Also diff --git a/components/flatcolorpicker/accessibility/wai-aria-support.md b/components/flatcolorpicker/accessibility/wai-aria-support.md index 84ef31ed1a..d7ace35e5d 100644 --- a/components/flatcolorpicker/accessibility/wai-aria-support.md +++ b/components/flatcolorpicker/accessibility/wai-aria-support.md @@ -69,8 +69,14 @@ The FlatColorPicker has been tested with the following screen readers and browse +## Keyboard Navigation + +For details on how the FlatColorPicker keyboard navigation works, refer to: + +* [Blazor ColorGradient Accessibility and Keyboard Navigation Demo](https://demos.telerik.com/blazor-ui/colorgradient/keyboard-navigation) +* [Blazor ColorPalette Accessibility and Keyboard Navigation Demo](https://demos.telerik.com/blazor-ui/colorpalette/keyboard-navigation) + ## See Also -* [Blazor FlatColorPicker Overview (Demo)](https://demos.telerik.com/blazor-ui/flatcolorpicker/overview) -* [Accessibility in Telerik UI for Blazor]({% slug accessibility-overview %}) -* [Accessibility Theme]({% slug themes-accessibility-swatch %}) \ No newline at end of file +* [Blazor FlatColorPicker Demos](https://demos.telerik.com/blazor-ui/flatcolorpicker/overview) +* [Accessibility in Telerik UI for Blazor](slug:accessibility-overview) \ No newline at end of file diff --git a/components/flatcolorpicker/events.md b/components/flatcolorpicker/events.md index a0ead5e824..ef9dc9e285 100644 --- a/components/flatcolorpicker/events.md +++ b/components/flatcolorpicker/events.md @@ -27,7 +27,7 @@ Note that the `OnChange` event may also fire when the actual selected color has The event type is `EventCallback`. The `OnChange` event does not prevent two-way binding for the `Value` attribute. -````CSHTML +````RAZOR @* Handle the FlatColorPicker OnChange event *@

      @EventLog

      @@ -51,7 +51,7 @@ The `ValueChanged` event fires when the user selects a new color and the compone The event type is `EventCallback`. Using `ValueChanged` requires one-way binding for the `Value` attribute and manual value update in the event handler. -````CSHTML +````RAZOR @* Handle the FlatColorPicker ValueChanged event *@ @@ -72,7 +72,7 @@ The `ViewChanged` event fires when the user toggles between the component views. The event type is `EventCallback`. Using `ViewChanged` requires one-way binding for the `View` attribute and manual value update in the event handler. -````CSHTML +````RAZOR @* Handle the FlatColorPicker ViewChanged event *@ @@ -90,5 +90,5 @@ The event type is `EventCallback`. Using `ViewChanged` requires ## See Also -* [FlatColorPicker Overview]({%slug flatcolorpicker-overview%}) -* [FlatColorPicker Views]({%slug flatcolorpicker-views%}) +* [FlatColorPicker Overview](slug:flatcolorpicker-overview) +* [FlatColorPicker Views](slug:flatcolorpicker-views) diff --git a/components/flatcolorpicker/overview.md b/components/flatcolorpicker/overview.md index 0c3f007ba3..397857076c 100644 --- a/components/flatcolorpicker/overview.md +++ b/components/flatcolorpicker/overview.md @@ -10,13 +10,13 @@ position: 0 # Blazor FlatColorPicker Overview -The FlatColorPicker for Blazor is an interactive component that allows color selection from a color palette or a [HSV](https://en.wikipedia.org/wiki/HSL_and_HSV) canvas. Users can also type a specific RGB/HEX color value manually. The FlatColorPicker is practically identical to the [ColorPicker component]({%slug colorpicker-overview%}) with the only difference that the ColorPicker takes up less space and displays the color selection UI in a popup. +The FlatColorPicker for Blazor is an interactive component that allows color selection from a color palette or a [HSV](https://en.wikipedia.org/wiki/HSL_and_HSV) canvas. Users can also type a specific RGB/HEX color value manually. The FlatColorPicker is practically identical to the [ColorPicker component](slug:colorpicker-overview) with the only difference that the ColorPicker takes up less space and displays the color selection UI in a popup. #### In this article: * [Basics](#basics) * [Example](#example) * [Interface](#interface) - * [Features](#features) + * [Parameters](#flatcolorpicker-parameters) * [Supported Value Formats](#supported-value-formats) ## Basics @@ -24,14 +24,14 @@ The @@ -55,14 +55,14 @@ The image below reveals all FlatColorPicker interface elements: ![FlatColorPicker component](images/flatcolorpicker-overview.png) -## Features +## FlatColorPicker Parameters The FlatColorPicker tag exposes the following features via its attributes: * `Value` - `string` - sets the FlatColorPicker value in a few [different color formats](#supported-value-formats). Supports two-way binding. * `ValueFormat` - `ColorFormat` - sets the color format, which the component will return in the application code. By default, the property is not set and the value format will change depending on the used view: `Rgb` when selecting a color from the GradientView, and `Hex` when selecting a color from the PaletteView. -* `FlatColorPickerViews` - `RenderFragment` - a nested container to list the [FlatColorPicker views]({%slug flatcolorpicker-views%}). All views are enabled by default and the user can switch between them with buttons. Each view tag has its own configuration attributes. -* `View` - `ColorPickerView` - sets the default selected [view]({%slug flatcolorpicker-views%}) (`ColorPickerView.Gradient` by default). Supports two-way binding. +* `FlatColorPickerViews` - `RenderFragment` - a nested container to list the [FlatColorPicker views](slug:flatcolorpicker-views). All views are enabled by default and the user can switch between them with buttons. Each view tag has its own configuration attributes. +* `View` - `ColorPickerView` - sets the default selected [view](slug:flatcolorpicker-views) (`ColorPickerView.Gradient` by default). Supports two-way binding. * `ShowPreview` - `bool` - toggles the [current color box and the color preview box](#interface) in the popup (`true` by default). * `Class` - `string` - renders a custom CSS class to the `div.k-flatcolorpicker` element. @@ -83,6 +83,6 @@ Color keywords are not supported. ## See Also -* [FlatColorPicker Views]({%slug flatcolorpicker-views%}) -* [FlatColorPicker Events]({%slug flatcolorpicker-events%}) +* [FlatColorPicker Views](slug:flatcolorpicker-views) +* [FlatColorPicker Events](slug:flatcolorpicker-events) * [FlatColorPicker Live Demo](https://demos.telerik.com/blazor-ui/flatcolorpicker/overview) diff --git a/components/flatcolorpicker/views.md b/components/flatcolorpicker/views.md index 76d4fe6ff4..3cde6a3884 100644 --- a/components/flatcolorpicker/views.md +++ b/components/flatcolorpicker/views.md @@ -12,14 +12,14 @@ position: 0 The FlatColorPicker can display different views. They allow users to select a color from an interface that matches their preferences. The supported views are: -* [FlatColorPickerGradientView](#flatcolorpickergradientview) - allows unlimited color selection from an [HSVA](https://en.wikipedia.org/wiki/HSL_and_HSV) canvas. This view also renders textboxes for typing a color in [RGB or HEX format]({%slug colorpicker-overview%}#supported-value-formats). +* [FlatColorPickerGradientView](#flatcolorpickergradientview) - allows unlimited color selection from an [HSVA](https://en.wikipedia.org/wiki/HSL_and_HSV) canvas. This view also renders textboxes for typing a color in [RGB or HEX format](slug:colorpicker-overview#supported-value-formats). * [FlatColorPickerPaletteView](#flatcolorpickerpaletteview) - allows color selection from a predefined collection of colors. -By default, both views are enabled and the gradient view is displayed first. Both behaviors can be configured via the FlatColorPicker [`FlatColorPickerViews` container and `View` attribute]({%slug flatcolorpicker-overview%}#features). +By default, both views are enabled and the gradient view is displayed first. Both behaviors can be configured via the FlatColorPicker [`FlatColorPickerViews` container and `View` attribute](slug:flatcolorpicker-overview#flatcolorpicker-parameters). ## FlatColorPickerGradientView -The GradientView uses a [`TelerikColorGradient` component]({%slug colorgradient-overview%}). The following [ColorGradient attributes]({%slug colorgradient-overview%}#features) are exposed in the `FlatColorPickerGradientView` tag: +The GradientView uses a [`TelerikColorGradient` component](slug:colorgradient-overview). The following [ColorGradient attributes](slug:colorgradient-overview#colorgradient-parameters) are exposed in the `FlatColorPickerGradientView` tag: * `Format` * `Formats` @@ -27,7 +27,7 @@ The GradientView uses a [`TelerikColorGradient` component]({%slug colorgradient- ## FlatColorPickerPaletteView -The PaletteView uses a [`TelerikColorPalette` component]({%slug colorpalette-overview%}). The following [ColorPalette attributes]({%slug colorpalette-overview%}#features) are exposed in the `FlatColorPickerPaletteView` tag: +The PaletteView uses a [`TelerikColorPalette` component](slug:colorpalette-overview). The following [ColorPalette attributes](slug:colorpalette-overview#colorpalette-parameters) are exposed in the `FlatColorPickerPaletteView` tag: * `Columns` * `Colors` @@ -36,7 +36,7 @@ The PaletteView uses a [`TelerikColorPalette` component]({%slug colorpalette-ove ## Example -````CSHTML +````RAZOR @* Blazor FlatColorPicker Views *@ @@ -58,5 +58,5 @@ The PaletteView uses a [`TelerikColorPalette` component]({%slug colorpalette-ove ## See Also -* [FlatColorPicker Events]({%slug flatcolorpicker-events%}) +* [FlatColorPicker Events](slug:flatcolorpicker-events) * [FlatColorPicker Views Demo](https://demos.telerik.com/blazor-ui/flatcolorpicker/views) diff --git a/components/floatingactionbutton/accessibility/wai-aria-support.md b/components/floatingactionbutton/accessibility/wai-aria-support.md new file mode 100644 index 0000000000..29374e6282 --- /dev/null +++ b/components/floatingactionbutton/accessibility/wai-aria-support.md @@ -0,0 +1,80 @@ +--- +title: Wai-Aria Support +page_title: Telerik UI for Blazor FloatingActionButton Documentation | FloatingActionButton Accessibility +description: "Get started with the Telerik UI for Blazor FloatingActionButton and learn about its accessibility support for WAI-ARIA, Section 508, and WCAG 2.2." +tags: telerik,blazor,accessibility,wai-aria,wcag +slug: floatingactionbutton-wai-aria-support +position: 50 +--- + +# Blazor FloatingActionButton Accessibility + +@[template](/_contentTemplates/common/parameters-table-styles.md#table-layout) + + + +Out of the box, the Telerik UI for Blazor FloatingActionButton provides extensive accessibility support and enables users with disabilities to acquire complete control over its features. + + +The FloatingActionButton is compliant with the [Web Content Accessibility Guidelines (WCAG) 2.2 AA](https://www.w3.org/TR/WCAG22/) standards and [Section 508](https://www.section508.gov/) requirements, follows the [Web Accessibility Initiative - Accessible Rich Internet Applications (WAI-ARIA)](https://www.w3.org/WAI/ARIA/apg/) best practices for implementing the [keyboard navigation](#keyboard-navigation) for its `component` role, provides options for managing its focus and is tested against the most popular screen readers. + +## WAI-ARIA + + +This section lists the selectors, attributes, and behavior patterns supported by the component and its composite elements, if any. + + +The FloatingActionButton features two distinct modes of operation: button-only and button-with-menu. + +### Button-Only Mode + +| Selector | Attribute | Usage | +| -------- | --------- | ----- | +| `.k-fab` | `role=button` or `nodeName=button` | Omitted if the `