All Projects → NAB → Ubkaccessibilitykit

NAB / Ubkaccessibilitykit

Licence: apache-2.0
An iOS framework to help with accessibility development and testing.

Projects that are alternatives of or similar to Ubkaccessibilitykit

Xmouse Controls
Windows utility to enable or disable active window tracking, raising and also the delay in milliseconds. This is known as x-mouse behavior or focus follows mouse.
Stars: ✭ 122 (-28.24%)
Mutual labels:  accessibility
Ebayui Core
Collection of Marko widgets; considered to be the core building blocks for all eBay components, pages & apps
Stars: ✭ 134 (-21.18%)
Mutual labels:  accessibility
Houdini
A simple, accessible show-and-hide/accordion script.
Stars: ✭ 148 (-12.94%)
Mutual labels:  accessibility
Skin
Pure CSS framework designed & developed by eBay for a branded, e-commerce marketplace.
Stars: ✭ 126 (-25.88%)
Mutual labels:  accessibility
Aria Query
Programmatic access to the ARIA specification
Stars: ✭ 129 (-24.12%)
Mutual labels:  accessibility
Morse Learn
A fun little web app to help you learn Morse code on Gboard.
Stars: ✭ 140 (-17.65%)
Mutual labels:  accessibility
Adg
Accessibility Developer Guide
Stars: ✭ 117 (-31.18%)
Mutual labels:  accessibility
Ej2 React Ui Components
Syncfusion React UI components library offer more than 50+ cross-browser, responsive, and lightweight react UI controls for building modern web applications.
Stars: ✭ 166 (-2.35%)
Mutual labels:  accessibility
Parvus
An accessible, open-source image lightbox with no dependencies.
Stars: ✭ 124 (-27.06%)
Mutual labels:  accessibility
Color
Color utilities for macOS, iOS, tvOS, and watchOS
Stars: ✭ 145 (-14.71%)
Mutual labels:  accessibility
Svelte Navigator
Simple, accessible routing for Svelte
Stars: ✭ 125 (-26.47%)
Mutual labels:  accessibility
Liblouis
Open-source braille translator and back-translator.
Stars: ✭ 129 (-24.12%)
Mutual labels:  accessibility
Andi
A tool to test web content for accessibility and 508 compliance.
Stars: ✭ 140 (-17.65%)
Mutual labels:  accessibility
Ember A11y Testing
A suite of accessibility tests that can be run within the Ember testing framework
Stars: ✭ 125 (-26.47%)
Mutual labels:  accessibility
Ej2 Angular Ui Components
Syncfusion Angular UI components library offer more than 50+ cross-browser, responsive, and lightweight angular UI controls for building modern web applications.
Stars: ✭ 159 (-6.47%)
Mutual labels:  accessibility
Pa11y Webservice
Pa11y Webservice provides scheduled accessibility reports for multiple URLs
Stars: ✭ 122 (-28.24%)
Mutual labels:  accessibility
Scrawl Canvas
Responsive, integrated and interactive HTML5 canvas elements. Scrawl-canvas is a JavaScript library designed to make using the HTML5 canvas element a bit easier, and a bit more fun!
Stars: ✭ 134 (-21.18%)
Mutual labels:  accessibility
Focusoverlay
Library for creating animated overlays on focused elements
Stars: ✭ 167 (-1.76%)
Mutual labels:  accessibility
Visible
🦉 Accessibility testing framework at the next level
Stars: ✭ 164 (-3.53%)
Mutual labels:  accessibility
React Command Palette
An accessible browser compatible javascript command palette
Stars: ✭ 140 (-17.65%)
Mutual labels:  accessibility

Accessibility logo

UBKAccessibilityKit by UBank

A framework to help with accessibility development and testing.

Report Bug · Request Feature

Table of Contents

Features

UBKAccessibilityKit allows you to audit your iOS app on device, removing the need to stop and inspect each element via Xcode. UBKAccessibilityKit can be added to your exisiting project and includes the following features.

  • Change text, tint and background colours live in app.
  • Warnings & Validations
  • Check colour contrast on text, tint and background colours
  • Add in custom colours using the colour hex code.
  • Swap foreground (Text & tint) colour with the background colour.
  • Brand colours;
  • Minimum size
  • Missing accessibility label
  • Missing accessibility traits
  • Missing accessibility hints
  • Missing accessibility value
  • Missing isAccessibilityElement
  • Dynamic text sizes supported
  • Show touch points on screen, handy for when you're doing presentations or recording a video and want to show touches and swipes on screen.
  • Highlight warnings as they are detected using the "Outline warnings" feature

Custom the foreground or background colours. Custom the foreground or background colours.

About The Project

UBKAccessibilityKit was built as an internal testing tool for the iOS apps team at UBank (AUS). The team weren't happy with the tools available on the market as they had limited feature sets or didn't work as intended. UBKAccessibilityKit was originally built to help solve one problem but grew, based on many feature requests, into the current tool.

We built this because:

  • Testing for accessibility can be a very time consuming process. Making the process easier means your time can be focused on creating amazing products.
  • Finding and fixing Accessibility problems is a team task, not just for the testers on a project.
  • We care deeply about Accessibility and think everyone should 😄

Getting Started

UBKAccessibilityKit requires Xcode 11.0 or higher, and an app deployment target of iOS 11.0 or higher. This is an example of how you may give instructions on setting up your project locally. To get a local copy up and running follow these example steps.

Installation

AppDelegate:

In your AppDelegate.m add the following code.

//Objective-C usage
#import "UBKAccessibilityWindow.h"

- (UBKAccessibilityWindow *)window
{
    static UBKAccessibilityWindow *customWindow = nil;
    if (!customWindow)
    {
        customWindow = [[UBKAccessibilityWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    }
    
    //This flag turns the inspector on or off. This could be used if you want to add a switch in the settings.app for your app.
    customWindow.enableInspector = TRUE;

    return customWindow;
}

or in your AppDelegate.swift file add the following code.

//Swift usage
import UBKAccessibilityKit

var customWindow: UBKAccessibilityWindow?
var window: UIWindow? {
    get {
        customWindow = customWindow ?? UBKAccessibilityWindow(frame: UIScreen.main.bounds)
        customWindow!.enableInspector = true
        return customWindow
    }
    set { }
} 

Usage

NOTE: It's not advised to include this framework in your production build, Apple will most likely reject your app.

Build and run. A floating Accessibility button will appear above the main window of the app. Tap this button to activate the Inspector. Select a UI component such as a label, button etc to see Accessibility information for the component.

A Sample project is included in this repo so you can see the framework working with a collection of standard UIKit components.

Custom UI Components

If you have custom UI Components and want to take advantage of this framework, ensure the components conform to the UIViewAccessibilityProtocol.

Colour Contast

Colour contrast is based on the below ratings. Normal Text (<24px or <18.66px and bold font)

AAA >= 7.0
AA >= 4.5
Fail < 4.5

Large Text (24px or 18.66px and bold font)

AAA Large >= 4.5
AA Large >= 3.0
Fail < 3.0

Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Release History

  • 1.0
    • The first public release

License

Distributed under the Apache 2.0 License. See LICENSE-2.0.txt for more information.

Known bugs

  • Version 1.0 does not support VoiceOver on iOS 13. The current architecture prevents VoiceOver from interacting with Accessibility Inspector. We are investigating and fingers crossed it will be fixed in a future release.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].