BITS Accessible Calculator
Overview
The BITS Accessible Calculator is a fully accessible,
web-based calculator designed for everyone, including users with disabilities.
It supports basic and advanced mathematical operations, persistent
memory/variable storage, and a user-friendly interface that meets WCAG 2.2 AA
guidelines. Built with only basic JavaScript, HTML, and CSS, it works on all
major browsers and devices, including mobile and Safari.
Features
-
Multiple Calculator Modes: Basic, Scientific, Programmer,
Financial, Statistical, Unit Conversion, Date/Time, Hex/Binary, Matrix,
Fraction, Scientific Constants
-
Accessible UI: Keyboard navigation, screen reader support,
focus indicators, ARIA attributes, skip links, and responsive design
-
Memory & Variables: Store results in memory slots or
named variables, recall, overwrite, clear, and rename
-
History: Persistent, searchable, and exportable calculation
history
-
Copy & Paste: Dedicated buttons, clipboard history, and
advanced session/memory copy/paste
-
Formula Library: Save, manage, and insert reusable
formulas/templates
-
Smart Error Correction: Suggestions for common input
mistakes
-
Calculation Sharing: Share results via link, email, or
social media
- Offline Support: Works offline using service workers
-
Custom Mobile Keypad: Large, touch-friendly keypad for
mobile users
-
Scientific Constants: Quick access to constants (π, e,
Avogadro, Planck, etc.)
-
Expression Preview: Live preview of parsed expressions
-
Multi-step Calculations: Display intermediate results
-
Keyboard Shortcuts: Enter to calculate, Esc to clear,
Ctrl+C to copy result, Ctrl+Z/Y for undo/redo
-
Dark Mode: Toggle for improved accessibility and comfort
- Internationalization: Support for multiple languages
- Accessibility Testing: Integration and audit mode
-
Speech Output: When enabled in the settings panel,
calculation results are spoken aloud for accessibility
-
Customizable Layouts & Themes: Personalize button
layout and color themes
-
Session Restore: Restore full calculator state after
browser restart
Getting Started
-
Clone or Download
-
Open in Browser
-
Open
index.html in your preferred browser (Chrome, Firefox,
Edge, Safari, etc.)
-
No Installation Required
- All features work out of the box. No dependencies or build steps.
Usage
-
Select Calculator Mode: Use the mode toggle buttons to
switch between modes. Only one mode is visible at a time. The current mode
is shown in the titlebar.
-
Perform Calculations: Enter expressions using the input
field or on-screen buttons. Use advanced functions and constants as needed.
-
Memory & Variables: Store, recall, overwrite, clear,
and rename memory slots or variables. All memory persists across sessions.
-
History: View, search, and export your calculation history.
Click history items to reuse results.
-
Copy & Paste: Use dedicated buttons to copy results or
paste clipboard contents. Copy/paste entire sessions or memory sets.
-
Formula Library: Save frequently used formulas and insert
them with one click.
-
Error Correction: Receive suggestions for input mistakes in
real time.
-
Share Calculations: Share results via link, email, or
social media.
-
Offline & Mobile: Use the calculator offline and on
mobile devices with a custom keypad.
-
Accessibility: Navigate with keyboard, use screen readers,
and benefit from high-contrast and focus indicators.
-
Dark Mode & Themes: Toggle dark mode or customize the
layout and colors.
-
Speech Output: Enable speech output in the settings panel
to have calculation results spoken aloud for accessibility.
Accessibility Highlights
- Fully keyboard navigable
- Screen reader support for all interactive elements
- ARIA attributes and landmarks
- Focus indicators for all controls
- Responsive design for desktop and mobile
- Accessible error messages and status updates
- Internationalization and language support
- Accessibility audit mode
- Input references preview and status via
aria-describedby
- Searchable history with live filtering
Technical Details
- Tech Stack: HTML, CSS, JavaScript (no frameworks)
-
Persistence: Uses browser localStorage for memory, history,
last result, mode, templates, and clipboard history
- Clipboard: Uses native Clipboard API
- Offline: Service worker for offline support
-
Compatibility: Works on all major browsers and devices
-
No External Dependencies: All code is custom and
self-contained
Contributing
Contributions are welcome! Please submit issues, feature requests, or pull
requests to help improve the BITS Accessible Calculator.
License
This project is open source and available under the MIT License.
For questions, feedback, or accessibility support, please open an issue or
contact the maintainers.