Coder Social home page Coder Social logo

inclusivetechnu / bri11iant Goto Github PK

View Code? Open in Web Editor NEW
4.0 5.0 0.0 4.32 MB

A VSCode extension for building accessible websites

License: MIT License

TypeScript 67.44% CSS 5.36% HTML 8.11% JavaScript 19.10%
a11y nsf-1901456 language-extension

bri11iant's Introduction

Bri11iant

MIT license Northwestern HCI NSF Grant 1901456

Bri11iant logo - a Lightbulb with an 11 inside

Bri11iant is currently in Alpha! Feel free to download the extension and leave us feedback, but know that the application will receive many updates before the Open Beta.

Are you an educator interested in using Bri11iant? Contact us at [email protected].

Made with ๐Ÿ’œ in Evanston, IL at the Northwestern Inclusive Technology Lab and Delta Lab

Authors: Cooper F. Barth, Thomas B. McHugh

Advisors: Anne Marie Piper (UCI), Eleanor O'Rourke (NU)

Bri11iant is a VSCode language extension for supporting web developers improve the accessibility of their websites. Bri11iant fits right into your text editor, suggesting improvements to your HTML, CSS, and Javascript code in order to improve the accessibility of your websites.

We love the web. The goal of Bri11iant is to help make the internet a more inclusive place by providing developers with in-editor support for vital accessibility standards and inclusive design principles. It's often hard to tell what is and isn't an accessibility problem just from looking at your code, and it's even harder sometimes to understand why these issues may be harmful. Moreover, there are many ways to make the design of a website more inclusive past simply following WCAG standards. That's where Bri11iant comes in. As you're writing HTML (more languages coming soon!), Bri11iant can diagnose and report parts of your website that could be modified in order to provide your users a more inclusive experience.

Bri11iant is smart. Instead of just parsing the HTML file you're working on, Bri11iant can use the links to your CSS and Javascript files to construct a virtual render tree of your website and provide a more complex analysis without you ever needing to launch your browser. This lets Bri11iant give suggestions about inclusive design principles like color contrast, dynamic content handling, and multi-modal content presentation. We want this website to be able to act as a comprehensive resource for learning about accessibility and inclusive design. Alongside the Bri11iant extension, we provide extensive documentation, articles, and blog posts about accessibility, inclusive design, and the A11y community.

Compatibility

Text Editors

Languages

Run

Visual Studio Code

  1. Download the Bri11iant extension.
  2. Install and enable the application.

Local (VSCode)

First, clone the repository:

git clone https://github.com/InclusiveTechNU/Bri11iant.git
cd Bri11iant

Then, run these commands to install dependencies and compile the project:

npm install
npm start

Open Visual Studio Code. Press โŒ˜ + Shift + B to build the project. Then, press F5 to run the project in debug mode. A new VSCode window should pop up with the language client and server running.

This project is built and maintained by the Northwestern University Inclusive Technology Lab and is funded by NSF Grant 1901456.

bri11iant's People

Contributors

cooperbarth avatar dependabot[bot] avatar tommymchugh avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

bri11iant's Issues

Webpack & Server

Webpack is breaking when trying to include JSDOM while bundling the server. Fix this.

alt text generation is blocking

Generating alt text for <img> tags blocks other tags. Desired behavior should be:

  • Default alt text is shown and all other tags are calculated
  • Another message is sent once image classification finishes to update the description

Support online CSS

Current DOM configuration only loads in external CSS files and should break on online ones. Add support.

Test JS support

JSDOM supports running external scripts linked through <script src=""> if { runScripts: "dangerously" } is passed in the JSDOM parameters. Please write tests for this in server/src/test`.

Handle boolean tag attributes

JSDOM replaces tags like <audio controls src=""> with <audio controls="" src="", which can't be found by the parser for obvious reasons.

/> tags break the system

<!DOCTYPE html>
<html>
    <head>
    </head>
    <body>
        <img src="apple.jpg" />
    </body>
</html>

Versus

<!DOCTYPE html>
<html>
    <head>
    </head>
    <body>
        <img src="apple.jpg">
    </body>
</html>

The first one seems to not be able to figure out where the img source is in the file and results in alerting the alt text warning at the tag.

Ignore certain rules

Hi
I'm trying to use this extension with angular. I know it's not officially supported but the hints are really helpful.
I just wish I could disable the header warnings that pop up in every file.
Could you offer a way to ignore certain rules?
Thanks :)

Handle duplicate errored tags

Currently, a document with the following will produce 2 errors for each identical img tag.

<img src="">
<img src="">

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.