diff --git a/demo/ComboBox.tsx b/demo/ComboBox.tsx
index a4b9669a..e6f21646 100644
--- a/demo/ComboBox.tsx
+++ b/demo/ComboBox.tsx
@@ -211,6 +211,7 @@ export default class ComboBox extends React.Component
{open && {options.map(this.renderOption)}}
diff --git a/demo/index.tsx b/demo/index.tsx
index d3974b2a..c55311e8 100644
--- a/demo/index.tsx
+++ b/demo/index.tsx
@@ -79,7 +79,10 @@ class DemoApp extends React.Component<
<>
-
+
{this.props.children}
diff --git a/src/components/JsonViewer/JsonViewer.tsx b/src/components/JsonViewer/JsonViewer.tsx
index f320473a..1883bd08 100644
--- a/src/components/JsonViewer/JsonViewer.tsx
+++ b/src/components/JsonViewer/JsonViewer.tsx
@@ -51,7 +51,9 @@ class Json extends React.PureComponent {
expandAll = () => {
const elements = this.node.getElementsByClassName('collapsible');
for (const collapsed of Array.prototype.slice.call(elements)) {
- (collapsed.parentNode as Element)!.classList.remove('collapsed');
+ const parentNode = collapsed.parentNode as Element;
+ parentNode!.classList.remove('collapsed');
+ parentNode.querySelector('.collapser')!.setAttribute('aria-label', 'collapse');
}
};
@@ -61,7 +63,9 @@ class Json extends React.PureComponent {
const elementsArr = Array.prototype.slice.call(elements, 1);
for (const expanded of elementsArr) {
- (expanded.parentNode as Element)!.classList.add('collapsed');
+ const parentNode = expanded.parentNode as Element;
+ parentNode!.classList.add('collapsed');
+ parentNode.querySelector('.collapser')!.setAttribute('aria-label', 'expand');
}
};
@@ -71,8 +75,10 @@ class Json extends React.PureComponent {
collapsed = target.parentElement!.getElementsByClassName('collapsible')[0];
if (collapsed.parentElement.classList.contains('collapsed')) {
collapsed.parentElement.classList.remove('collapsed');
+ target.setAttribute('aria-label', 'collapse');
} else {
collapsed.parentElement.classList.add('collapsed');
+ target.setAttribute('aria-label', 'expand');
}
}
};
diff --git a/src/components/Schema/DiscriminatorDropdown.tsx b/src/components/Schema/DiscriminatorDropdown.tsx
index b6691efa..d3290a2a 100644
--- a/src/components/Schema/DiscriminatorDropdown.tsx
+++ b/src/components/Schema/DiscriminatorDropdown.tsx
@@ -43,7 +43,12 @@ export class DiscriminatorDropdown extends React.Component<{
this.sortOptions(options, enumValues);
return (
-
+
);
}
diff --git a/src/components/SearchBox/SearchBox.tsx b/src/components/SearchBox/SearchBox.tsx
index 5476dc9b..21900862 100644
--- a/src/components/SearchBox/SearchBox.tsx
+++ b/src/components/SearchBox/SearchBox.tsx
@@ -139,6 +139,7 @@ export class SearchBox extends React.PureComponent
diff --git a/src/utils/jsonToHtml.ts b/src/utils/jsonToHtml.ts
index 65a7edfb..3db6cd91 100644
--- a/src/utils/jsonToHtml.ts
+++ b/src/utils/jsonToHtml.ts
@@ -73,9 +73,9 @@ function valueToHTML(value, maxExpandLevel: number) {
function arrayToHTML(json, maxExpandLevel: number) {
const collapsed = level > maxExpandLevel ? 'collapsed' : '';
- let output = `${punctuation(
- '[',
- )}`;
+ let output = `${punctuation('[')}`;
let hasContents = false;
const length = json.length;
for (let i = 0; i < length; i++) {
@@ -98,9 +98,9 @@ function objectToHTML(json, maxExpandLevel: number) {
const collapsed = level > maxExpandLevel ? 'collapsed' : '';
const keys = Object.keys(json);
const length = keys.length;
- let output = `${punctuation(
- '{',
- )}`;
+ let output = `${punctuation('{')}`;
let hasContents = false;
for (let i = 0; i < length; i++) {
const key = keys[i];