Accessibility in React Radio button component
30 Jan 20233 minutes to read
The web accessibility makes web content and web applications more accessible for people with disabilities. It especially helps in dynamic content change and development of advanced user interface controls with AJAX, HTML, JavaScript, and related technologies.
RadioButton provides built-in compliance with WAI-ARIA
specifications. WAI-ARIA
support is achieved through the attributes like aria-checked
and aria-disabled
. It helps the people with disabilities by providing information about the widget for assistive technology in the screen readers. RadioButton component contains the radiobutton
role.
Properties | Functionality |
---|---|
role | Indicates the type of input element. |
aria-checked | Indicates whether the input is checked, unchecked, or represents mixture of checked and unchecked values. |
aria-disabled | Indicates that the element is perceivable but disabled, so it is not editable or otherwise operable. |
Keyboard interaction
Keyboard shortcuts | Actions |
Up/Left arrow | Move and select the previous options. |
Down/Right arrow | Move and select the next options. |
import { enableRipple } from '@syncfusion/ej2-base';
import { RadioButtonComponent } from '@syncfusion/ej2-react-buttons';
import * as React from 'react';
import * as ReactDom from 'react-dom';
enableRipple(true);
// To render RadioButton.
function App() {
return (<ul>
<li><RadioButtonComponent class="radiobutton" label="Option 1" name="state" checked={true}/></li>
<li><RadioButtonComponent class="radiobutton" label="Option 2" name="state"/></li>
<li>
<RadioButtonComponent class="radiobutton" label="Option 3" name="state"/>
<RadioButtonComponent class="radiobutton" label="Option 4" name="state"/>
</li>
</ul>);
}
export default App;
ReactDom.render(<App />, document.getElementById('radio-button'));
import { enableRipple } from '@syncfusion/ej2-base';
import { RadioButtonComponent } from '@syncfusion/ej2-react-buttons';
import * as React from 'react';
import * as ReactDom from 'react-dom';
enableRipple(true);
// To render RadioButton.
function App() {
return (
<ul>
<li><RadioButtonComponent class="radiobutton" label="Option 1" name="state" checked={true} /></li>
<li><RadioButtonComponent class="radiobutton" label="Option 2" name="state" /></li>
<li>
<RadioButtonComponent class="radiobutton" label="Option 3" name="state" />
<RadioButtonComponent class="radiobutton"label="Option 4" name="state" />
</li>
</ul>
);
}
export default App;
ReactDom.render(<App />, document.getElementById('radio-button'));