Skip to content

Commit 79b0427

Browse files
Init bower repository
1 parent de041ad commit 79b0427

File tree

2 files changed

+127
-8
lines changed

2 files changed

+127
-8
lines changed

README.md

Lines changed: 104 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,106 @@
1-
HaTeMiLe-for-JavaScript
2-
=======================
3-
HaTeMiLe is a libary that can convert a HTML code in a HTML code more accessible. Increasing more informations for screen readers, forcing the browsers(olds and newers) show more informations, forcing that mouse events too be accessed by keyboard and more. But, for use HaTeMiLe is need that a correctly semantic HTML code.
1+
# HaTeMiLe for JavaScript
42

5-
## How to Use
3+
HaTeMiLe (HTML Accessible) is a library that can convert a HTML code in a HTML code more accessible.
64

7-
1. Instanciate a new object with HTMLDOMParser interface, setting the HTML code;
8-
2. Instanciate a new Configuration object;
9-
3. Instanciate a new object with AccessibleAssociation, AccessibleCSS, AccessibleDisplay, AccessibleForm, AccessibleNavigation or AccessibleEvent interface and call yours methods;
10-
4. Get the HTML code of object with HTMLDOMParser interface.
5+
## Accessibility solutions
6+
7+
* Associate HTML elements;
8+
* Provide a polyfill to CSS speech and aural properties: speak, speak-as, speak-punctuation, speak-numeral and speak-header;
9+
* Display more information of page for screen reader:
10+
* Titles;
11+
* Link attributes;
12+
* Cell headers;
13+
* Keyboard shortcuts;
14+
* Languages;
15+
* WAI-ARIA roles;
16+
* WAI-ARIA attribute.
17+
* Make mouse events available from a keyboard;
18+
* Show information of fields;
19+
* Provide a polyfill to long descriptions attributes;
20+
* Provide links to navigate by heading;
21+
* Provide links to skip contents of page.
22+
23+
## Documentation
24+
25+
To generate the full API documentation of HaTeMiLe of JavaScript use [JSDoc](http://usejsdoc.org/).
26+
27+
## Usage
28+
29+
Include the configuration, dependencies and solutions scripts and styles:
30+
31+
```html
32+
<!-- Hide visual changes -->
33+
<link rel="stylesheet" type="text/css" href="/path/to/css/hide_changes.css" />
34+
<!-- Configuration -->
35+
<script type="text/javascript" src="/path/to/_locales/en_US/js/configurations.js"></script>
36+
<script type="text/javascript" src="/path/to/_locales/en_US/js/skippers.js"></script>
37+
<script type="text/javascript" src="/path/to/_locales/en_US/js/symbols.js"></script>
38+
<!-- Dependencies -->
39+
<script type="text/javascript" src="/path/to/js/common.js"></script>
40+
<script type="text/javascript" src="/path/to/js/eventlistener.js"></script>
41+
<script type="text/javascript" src="/path/to/js/hatemile/util/CommonFunctions.js"></script>
42+
<script type="text/javascript" src="/path/to/js/hatemile/util/Configure.js"></script>
43+
<script type="text/javascript" src="/path/to/js/hatemile/util/html/vanilla/VanillaHTMLDOMParser.js"></script>
44+
<script type="text/javascript" src="/path/to/js/hatemile/util/html/vanilla/VanillaHTMLDOMElement.js"></script>
45+
<script type="text/javascript" src="/path/to/js/hatemile/util/html/vanilla/VanillaHTMLDOMTextNode.js"></script>
46+
<script type="text/javascript" src="/path/to/js/cssParser.js"></script>
47+
<script type="text/javascript" src="/path/to/js/hatemile/util/css/jscssp/JSCSSPParser.js"></script>
48+
<script type="text/javascript" src="/path/to/js/hatemile/util/css/jscssp/JSCSSPRule.js"></script>
49+
<script type="text/javascript" src="/path/to/js/hatemile/util/css/jscssp/JSCSSPDeclaration.js"></script>
50+
<!-- Solutions -->
51+
<script type="text/javascript" src="/path/to/js/hatemile/implementation/AccessibleCSSImplementation.js"></script>
52+
<script type="text/javascript" src="/path/to/js/hatemile/implementation/AccessibleEventImplementation.js"></script>
53+
<script type="text/javascript" src="/path/to/js/hatemile/implementation/AccessibleFormImplementation.js"></script>
54+
<script type="text/javascript" src="/path/to/js/hatemile/implementation/AccessibleDisplayScreenReaderImplementation.js"></script>
55+
<script type="text/javascript" src="/path/to/js/hatemile/implementation/AccessibleNavigationImplementation.js"></script>
56+
<script type="text/javascript" src="/path/to/js/hatemile/implementation/AccessibleAssociationImplementation.js"></script>
57+
```
58+
59+
Instanciate the configuration, the parsers and solution classes and execute them:
60+
61+
```javascript
62+
//Configure
63+
var configuration = new hatemile.util.Configure(hatemile_configuration);
64+
//Parsers
65+
var htmlParser = new hatemile.util.html.vanilla.VanillaHTMLDOMParser(document);
66+
var cssParser = new hatemile.util.css.jscssp.JSCSSPParser(document, location.href);
67+
//Execute
68+
var accessibleCSS = new hatemile.implementation.AccessibleCSSImplementation(htmlParser, cssParser, hatemile_configuration_symbols);
69+
accessibleCSS.provideAllSpeakProperties();
70+
71+
var accessibleEvent = new hatemile.implementation.AccessibleEventImplementation(htmlParser);
72+
accessibleEvent.makeAccessibleAllDragandDropEvents();
73+
accessibleEvent.makeAccessibleAllHoverEvents();
74+
accessibleEvent.makeAccessibleAllClickEvents();
75+
76+
var accessibleForm = new hatemile.implementation.AccessibleFormImplementation(htmlParser, configuration);
77+
accessibleForm.markAllRequiredFields()
78+
accessibleForm.markAllRangeFields();
79+
accessibleForm.markAllAutoCompleteFields();
80+
accessibleForm.markAllInvalidFields();
81+
82+
var accessibleNavigation = new hatemile.implementation.AccessibleNavigationImplementation(htmlParser, configuration, hatemile_configuration_skippers);
83+
accessibleNavigation.provideNavigationByAllHeadings();
84+
accessibleNavigation.provideNavigationByAllSkippers();
85+
accessibleNavigation.provideNavigationToAllLongDescriptions();
86+
87+
var accessibleAssociation = new hatemile.implementation.AccessibleAssociationImplementation(htmlParser, configuration);
88+
accessibleAssociation.associateAllDataCellsWithHeaderCells();
89+
accessibleAssociation.associateAllLabelsWithFields();
90+
91+
var accessibleScreenReader = new hatemile.implementation.AccessibleDisplayScreenReaderImplementation(htmlParser, configuration, navigator.userAgent);
92+
accessibleScreenReader.displayAllRoles();
93+
accessibleScreenReader.displayAllCellHeaders();
94+
accessibleScreenReader.displayAllShortcuts();
95+
accessibleScreenReader.displayAllWAIARIAStates();
96+
accessibleScreenReader.displayAllLinksAttributes();
97+
accessibleScreenReader.displayAllTitles();
98+
accessibleScreenReader.displayAllDragsAndDrops();
99+
accessibleScreenReader.displayAllLanguages();
100+
```
101+
102+
## See also
103+
[HaTeMiLe for Java](https://github.com/carlsonsantana/HaTeMiLe-for-Java)
104+
[HaTeMiLe for PHP](https://github.com/carlsonsantana/HaTeMiLe-for-PHP)
105+
[HaTeMiLe for Python](https://github.com/carlsonsantana/HaTeMiLe-for-Python)
106+
[HaTeMiLe for Ruby](https://github.com/carlsonsantana/HaTeMiLe-for-Ruby)

bower.json

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
{
2+
"name": "hatemile",
3+
"version": "2.0.0",
4+
"authors": [
5+
"Carlson Santana Cruz"
6+
],
7+
"description": "HaTeMiLe (HTML Accessible) is a library that can convert a HTML code in a HTML code more accessible.",
8+
"main": "",
9+
"keywords": [
10+
"accessibility",
11+
"wcag",
12+
"accessible"
13+
],
14+
"license": "Apache License, Version 2.0",
15+
"homepage": "https://github.com/carlsonsantana/HaTeMiLe-for-JavaScript",
16+
"ignore": [
17+
"**/.*",
18+
"node_modules",
19+
"bower_components",
20+
"test",
21+
"tests"
22+
]
23+
}

0 commit comments

Comments
 (0)