Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/Alejandrin08/Hackathon-SPEI/llms.txt

Use this file to discover all available pages before exploring further.

B-Accesible automatically adapts its interface to each user’s needs using an AI-driven accessibility profile system. During onboarding, the system asks a few simple questions and recommends the best profile. Users can override any setting at any time.

Accessibility profiles

The system supports three built-in accessibility themes.
Default accessible modeApplied when the user has no specific accessibility needs. Meets WCAG 2.1 level AA by default: sufficient contrast, scalable text, and full keyboard navigation.
SettingValue
Font scale1.0x
Screen reader modeOff
Voice feedbackOff
Nudging levelMedium

Onboarding wizard

The WizardView is shown on first launch. It collects simple answers to determine which accessibility profile best fits the user.
1

Small text question

The system asks: “Can you read small text comfortably?”A no answer is a strong signal toward the large-text-high-contrast profile.
2

Screen reader question

The system asks: “Do you use a screen reader?”A yes answer is a strong signal toward the voice-assisted profile.
3

App confidence

The system asks: “How confident are you using banking apps?”Accepted values: low, medium, high.Low confidence increases the nudging level and may reinforce the large-text-high-contrast recommendation.
4

Age range

The system asks: “What is your age range?”Accepted values: 18_30, 31_50, 51_60, 60_plus.Users in the 51_60 or 60_plus ranges are more likely to receive the large-text-high-contrast recommendation.
5

AI recommendation

The wizard answers are sent to POST /ai/accessibility. The model returns a personalized profile recommendation with a confidence score and a plain-language explanation.The user sees the recommended settings and can accept or adjust them before continuing.

AI recommendation

After the wizard completes, the frontend calls the accessibility inference endpoint.
POST /ai/accessibility
Request body:
{
  "can_read_small_text": false,
  "uses_screen_reader": false,
  "app_confidence": "low",
  "age_range": "51_60"
}
Response:
{
  "recommendation": {
    "theme": "large-text-high-contrast",
    "screen_reader_mode": false,
    "font_scale": 1.6,
    "nudging_level": "high",
    "voice_feedback": false
  },
  "confidence": 0.9,
  "explanation": ["Increased font and contrast for readability"]
}
The explanation array contains plain-language strings that are shown to the user alongside the recommendation, so they understand why a particular profile was selected.
The confidence score (0–1) reflects the model’s certainty about the recommendation. If confidence is below a threshold, the system presents the recommendation as a suggestion rather than a default.

Manual customization

Users can override the AI recommendation at any time from the Preferences screen (PreferencesView). Available controls:
  • FontSelector — Choose from a set of accessible typefaces.
  • FontSizeSelector — Adjust the font scale independently of the AI-recommended value.
Changes take effect immediately and are saved to the server.
Encouraging users to explore the Preferences screen improves long-term satisfaction. The AI recommendation is a starting point, not a constraint.

Persisting the profile

The accessibility profile is stored server-side and loaded on every login so preferences are consistent across sessions and devices.
OperationEndpoint
Save profilePUT /api/profile/accessibility
Load profileGET /api/profile/accessibility

Accessibility standards

All interfaces meet WCAG 2.1 level AA. The following requirements are implemented across all screens:

High contrast

Color combinations meet or exceed the 4.5:1 contrast ratio required by WCAG 2.1 AA for normal text.

Scalable text

All text respects the user’s font scale setting. No text is fixed in absolute pixel sizes.

Keyboard navigation

Every interactive element is reachable and operable via keyboard alone, with visible focus indicators.

Screen reader support

All components include appropriate ARIA labels. VoiceOver on iOS has been tested.

Voice input / TTS

Voice input and text-to-speech are available in Mexican Spanish (es-MX) via the Web Speech API.

Non-technical language

All UI copy, alerts, and AI explanations avoid technical jargon.