diff --git a/src/Collapse.js b/src/Collapse.js index 9bac27e6d..af2146d20 100644 --- a/src/Collapse.js +++ b/src/Collapse.js @@ -127,6 +127,7 @@ class Collapse extends Component { style={{ ...childProps.style, ...style }} className={classes} ref={this.props.innerRef} + aria-expanded={isOpen ? 'true' : 'false'} > {children} diff --git a/src/UncontrolledCollapse.js b/src/UncontrolledCollapse.js index c5c77a9a9..b893e7b08 100644 --- a/src/UncontrolledCollapse.js +++ b/src/UncontrolledCollapse.js @@ -49,7 +49,7 @@ class UncontrolledCollapse extends Component { } render() { - return ; + return ; } } diff --git a/src/__tests__/Collapse.spec.js b/src/__tests__/Collapse.spec.js index 3000ffad9..bc508860f 100644 --- a/src/__tests__/Collapse.spec.js +++ b/src/__tests__/Collapse.spec.js @@ -122,4 +122,12 @@ describe('Collapse', () => { expect(wrapper.state('height')).toBe(null); wrapper.unmount(); }); + + it('should set aria-expanded', () => { + isOpen = false; + wrapper = mount(); + expect(wrapper.find('div').prop('aria-expanded')).toBe('false'); + toggle(); + expect(wrapper.find('div').prop('aria-expanded')).toBe('true'); + }); }); diff --git a/src/__tests__/UncontrolledCollapse.spec.js b/src/__tests__/UncontrolledCollapse.spec.js index dcd5e102f..9e6e721a3 100644 --- a/src/__tests__/UncontrolledCollapse.spec.js +++ b/src/__tests__/UncontrolledCollapse.spec.js @@ -95,4 +95,14 @@ describe('UncontrolledCollapse', () => { expect(UncontrolledCollapse.prototype.toggle.mock.calls.length).toBe(1); }); + + it('should set aria-expanded', () => { + const collapse = shallow(Yo!); + + expect(collapse.prop('aria-expanded')).toBe('false'); + toggler.click(); + collapse.update(); + + expect(collapse.prop('aria-expanded')).toBe('true'); + }); });