Skip to content

Commit e107e27

Browse files
Copilotimolorhe
andcommitted
Add comprehensive integrations, testing strategies, accessibility, and advanced usage documentation
Co-authored-by: imolorhe <[email protected]>
1 parent 5458a76 commit e107e27

File tree

6 files changed

+2993
-0
lines changed

6 files changed

+2993
-0
lines changed
Lines changed: 340 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,340 @@
1+
---
2+
parent: Features
3+
---
4+
5+
# Accessibility
6+
7+
Altair GraphQL Client is designed to be accessible to users with diverse needs and abilities. This guide covers accessibility features and best practices for using Altair effectively.
8+
9+
## Keyboard Navigation
10+
11+
### Primary Navigation
12+
13+
Altair supports comprehensive keyboard navigation:
14+
15+
- **Tab**: Navigate through interface elements
16+
- **Shift + Tab**: Navigate backwards
17+
- **Enter/Space**: Activate buttons and controls
18+
- **Escape**: Close dialogs and modals
19+
- **Arrow Keys**: Navigate within menus and lists
20+
21+
### Query Editor Shortcuts
22+
23+
- **Ctrl/Cmd + Enter**: Execute query
24+
- **Ctrl/Cmd + /**: Toggle line comment
25+
- **Ctrl/Cmd + Shift + /**: Toggle block comment
26+
- **Ctrl/Cmd + F**: Find in editor
27+
- **Ctrl/Cmd + H**: Find and replace
28+
- **Ctrl/Cmd + G**: Go to line
29+
- **Ctrl/Cmd + Shift + F**: Format query
30+
- **Tab**: Increase indentation
31+
- **Shift + Tab**: Decrease indentation
32+
33+
### Window Management
34+
35+
- **Ctrl/Cmd + T**: New query window
36+
- **Ctrl/Cmd + W**: Close current window
37+
- **Ctrl/Cmd + Shift + T**: Reopen closed window
38+
- **Ctrl/Cmd + 1-9**: Switch to window by number
39+
- **Ctrl/Cmd + Tab**: Cycle through windows
40+
41+
## Screen Reader Support
42+
43+
### ARIA Labels and Descriptions
44+
45+
Altair includes comprehensive ARIA attributes for screen readers:
46+
47+
- **Query Editor**: Labeled as "GraphQL Query Editor" with current query status
48+
- **Variables Panel**: "GraphQL Variables Input" with validation status
49+
- **Result Panel**: "Query Results" with response status and error information
50+
- **Schema Documentation**: "GraphQL Schema Documentation" with current type information
51+
52+
### Screen Reader Announcements
53+
54+
Key actions trigger screen reader announcements:
55+
56+
- **Query Execution**: "Query sent" → "Query completed successfully" or "Query failed with errors"
57+
- **Schema Loading**: "Schema loading" → "Schema loaded successfully"
58+
- **Error States**: Detailed error descriptions and locations
59+
- **Validation**: Real-time validation feedback
60+
61+
### Semantic Structure
62+
63+
Altair uses proper semantic HTML structure:
64+
65+
- **Headings (h1-h6)**: Hierarchical content organization
66+
- **Landmarks**: Main content areas, navigation, and complementary information
67+
- **Lists**: Structured presentation of schema types, fields, and errors
68+
- **Forms**: Proper labeling of input fields and controls
69+
70+
## Visual Accessibility
71+
72+
### High Contrast Mode
73+
74+
Enable high contrast themes for better visibility:
75+
76+
1. Go to **Settings****Theme**
77+
2. Select "High Contrast Light" or "High Contrast Dark"
78+
3. Adjust font size if needed
79+
80+
### Color Accessibility
81+
82+
Altair's color scheme considerations:
83+
84+
- **Error States**: Red with additional icons and text indicators
85+
- **Success States**: Green with checkmarks and descriptive text
86+
- **Warning States**: Yellow/orange with warning icons
87+
- **Information**: Blue with informational icons
88+
- **Syntax Highlighting**: Distinguishable without relying solely on color
89+
90+
### Font and Text Settings
91+
92+
Customize text display for better readability:
93+
94+
```json
95+
{
96+
"theme.fontsize": 16,
97+
"theme.fontFamily": "Monaco, 'Courier New', monospace",
98+
"theme.editorFontFamily": "Fira Code, Monaco, 'Courier New', monospace",
99+
"theme.lineHeight": 1.5
100+
}
101+
```
102+
103+
### Zoom Support
104+
105+
Altair respects browser zoom settings:
106+
- **Browser Zoom**: Works with Ctrl/Cmd + Plus/Minus
107+
- **Font Size**: Independent font size controls in settings
108+
- **Interface Scaling**: Maintains layout integrity at different zoom levels
109+
110+
## Motor Accessibility
111+
112+
### Mouse Alternatives
113+
114+
All mouse interactions have keyboard equivalents:
115+
116+
- **Query Execution**: Keyboard shortcut (Ctrl/Cmd + Enter)
117+
- **Menu Navigation**: Tab and arrow keys
118+
- **Button Activation**: Enter or Space keys
119+
- **Text Selection**: Shift + arrow keys
120+
- **Copy/Paste**: Standard keyboard shortcuts
121+
122+
### Large Click Targets
123+
124+
Interface elements meet accessibility guidelines:
125+
- **Minimum Size**: 44px × 44px for touch targets
126+
- **Button Spacing**: Adequate spacing between interactive elements
127+
- **Focus Indicators**: Clear visual focus indicators
128+
129+
### Customizable Interface
130+
131+
Adjust interface for motor accessibility:
132+
133+
```json
134+
{
135+
"editor.wordWrap": true,
136+
"editor.lineNumbers": "on",
137+
"editor.minimap.enabled": false,
138+
"editor.scrollbar.horizontal": "auto",
139+
"editor.scrollbar.vertical": "auto"
140+
}
141+
```
142+
143+
## Cognitive Accessibility
144+
145+
### Clear Information Architecture
146+
147+
Altair's interface follows predictable patterns:
148+
149+
- **Consistent Navigation**: Same interaction patterns across features
150+
- **Logical Grouping**: Related features grouped together
151+
- **Progressive Disclosure**: Complex features revealed gradually
152+
- **Clear Labels**: Descriptive text for all interface elements
153+
154+
### Error Prevention and Recovery
155+
156+
Built-in safeguards for error prevention:
157+
158+
- **Real-time Validation**: Immediate feedback on query syntax
159+
- **Auto-completion**: Reduces typing errors and cognitive load
160+
- **Undo/Redo**: Easy recovery from mistakes
161+
- **Auto-save**: Automatic saving of work in progress
162+
163+
### Contextual Help
164+
165+
Multiple levels of assistance:
166+
167+
- **Tooltips**: Brief descriptions of interface elements
168+
- **Documentation Panel**: Inline schema documentation
169+
- **Status Messages**: Clear feedback on current state
170+
- **Error Messages**: Specific, actionable error descriptions
171+
172+
## Language and Localization
173+
174+
### Interface Language
175+
176+
Altair supports multiple interface languages:
177+
178+
1. Go to **Settings****Language**
179+
2. Select your preferred language
180+
3. Restart Altair to apply changes
181+
182+
Available languages include:
183+
- English
184+
- Chinese (Simplified/Traditional)
185+
- Czech
186+
- Dutch
187+
- French
188+
- German
189+
- Italian
190+
- Japanese
191+
- Korean
192+
- Polish
193+
- Portuguese
194+
- Russian
195+
- Spanish
196+
- Swedish
197+
198+
### Right-to-Left (RTL) Support
199+
200+
For RTL languages, Altair automatically adjusts:
201+
- **Text Direction**: Proper RTL text flow
202+
- **Interface Layout**: Mirrored layout for RTL reading patterns
203+
- **Icon Orientation**: Appropriate icon directions
204+
205+
## Platform-Specific Accessibility
206+
207+
### Desktop Application
208+
209+
**Windows**:
210+
- **High Contrast Mode**: Respects Windows high contrast settings
211+
- **Screen Reader**: Compatible with NVDA, JAWS, and Windows Narrator
212+
- **Magnifier**: Works with Windows Magnifier
213+
- **Voice Control**: Compatible with Windows Speech Recognition
214+
215+
**macOS**:
216+
- **VoiceOver**: Full VoiceOver support
217+
- **Zoom**: Compatible with macOS zoom features
218+
- **Voice Control**: Works with macOS Voice Control
219+
- **Reduce Motion**: Respects system motion preferences
220+
221+
**Linux**:
222+
- **Screen Readers**: Compatible with Orca and other AT-SPI screen readers
223+
- **High Contrast**: Respects GTK/Qt theme settings
224+
- **Keyboard Navigation**: Full keyboard accessibility
225+
226+
### Browser Extensions
227+
228+
Browser extension accessibility features:
229+
- **Tab Order**: Logical tab navigation within extension popup
230+
- **Keyboard Shortcuts**: Same shortcuts as desktop application
231+
- **Screen Reader**: Compatible with browser screen reader support
232+
- **Zoom**: Respects browser zoom settings
233+
234+
### Web Application
235+
236+
Web app accessibility considerations:
237+
- **WCAG 2.1 AA Compliance**: Meets accessibility standards
238+
- **Cross-browser Support**: Consistent accessibility across browsers
239+
- **Touch Support**: Accessible on touch devices
240+
- **Mobile Responsive**: Accessible on mobile devices
241+
242+
## Accessibility Settings
243+
244+
### Recommended Settings for Accessibility
245+
246+
```json
247+
{
248+
"theme": "high-contrast-dark",
249+
"theme.fontsize": 16,
250+
"theme.lineHeight": 1.6,
251+
"editor.wordWrap": true,
252+
"editor.lineNumbers": "on",
253+
"editor.renderWhitespace": "all",
254+
"editor.cursorBlinking": "solid",
255+
"editor.cursorWidth": 3,
256+
"animation.enabled": false,
257+
"sound.enabled": true
258+
}
259+
```
260+
261+
### Motion and Animation Controls
262+
263+
For users sensitive to motion:
264+
265+
```json
266+
{
267+
"animation.enabled": false,
268+
"transitions.enabled": false,
269+
"auto-scroll.enabled": false,
270+
"smooth-scrolling.enabled": false
271+
}
272+
```
273+
274+
## Testing Accessibility
275+
276+
### Screen Reader Testing
277+
278+
To test Altair with screen readers:
279+
280+
1. **Enable Screen Reader**: Turn on your preferred screen reader
281+
2. **Navigate Interface**: Use Tab key to navigate through elements
282+
3. **Test Query Workflow**: Execute complete query workflow using only keyboard
283+
4. **Verify Announcements**: Ensure important state changes are announced
284+
285+
### Keyboard-Only Testing
286+
287+
Test complete functionality without mouse:
288+
289+
1. **Disconnect Mouse**: Temporarily disable mouse/trackpad
290+
2. **Complete Tasks**: Perform all common tasks using only keyboard
291+
3. **Check Focus Indicators**: Ensure focus is always visible
292+
4. **Test All Features**: Verify every feature is keyboard accessible
293+
294+
### Color Accessibility Testing
295+
296+
Verify color accessibility:
297+
298+
1. **Use Color Blindness Simulators**: Test with different color vision types
299+
2. **High Contrast Mode**: Verify functionality in high contrast modes
300+
3. **Grayscale Testing**: Ensure information is conveyed without color
301+
4. **Sufficient Contrast**: Check color contrast ratios meet WCAG guidelines
302+
303+
## Reporting Accessibility Issues
304+
305+
### How to Report Issues
306+
307+
If you encounter accessibility barriers:
308+
309+
1. **GitHub Issues**: Report accessibility bugs at [https://github.com/altair-graphql/altair/issues](https://github.com/altair-graphql/altair/issues)
310+
2. **Include Details**: Provide specific information about the accessibility barrier
311+
3. **Environment Information**: Include your platform, assistive technology, and settings
312+
4. **Steps to Reproduce**: Clear steps that demonstrate the issue
313+
314+
### Information to Include
315+
316+
When reporting accessibility issues:
317+
318+
- **Platform**: Desktop app, browser extension, or web app
319+
- **Operating System**: Version and accessibility settings
320+
- **Assistive Technology**: Screen reader, magnifier, or other AT used
321+
- **Browser**: Type and version (for web app/extension)
322+
- **Specific Issue**: Clear description of the accessibility barrier
323+
- **Expected Behavior**: What should happen
324+
- **Actual Behavior**: What actually happens
325+
326+
## Accessibility Resources
327+
328+
### Learning Resources
329+
330+
- **Web Content Accessibility Guidelines (WCAG)**: [https://www.w3.org/WAI/WCAG21/quickref/](https://www.w3.org/WAI/WCAG21/quickref/)
331+
- **Screen Reader Testing**: Platform-specific screen reader documentation
332+
- **Keyboard Navigation Patterns**: ARIA Authoring Practices Guide
333+
334+
### Community Support
335+
336+
- **GitHub Discussions**: [https://github.com/altair-graphql/altair/discussions](https://github.com/altair-graphql/altair/discussions)
337+
- **Accessibility Forum**: Share tips and ask questions about accessibility
338+
- **Feature Requests**: Suggest accessibility improvements
339+
340+
Altair is committed to providing an accessible GraphQL development experience for all users. We continuously work to improve accessibility features and welcome feedback from the community to make Altair more inclusive.

0 commit comments

Comments
 (0)