maidr 1.0.3 → 1.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +60 -61
- package/README.md +31 -8
- package/dist/maidr.js +1390 -120
- package/dist/maidr.min.js +1 -1
- package/dist/maidr_style.css +74 -0
- package/dist/maidr_style.min.css +1 -1
- package/package.json +2 -2
package/LICENSE.md
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
GNU General Public License
|
|
2
|
-
==========================
|
|
1
|
+
# GNU General Public License
|
|
3
2
|
|
|
4
3
|
_Version 3, 29 June 2007_
|
|
5
4
|
_Copyright © 2007 Free Software Foundation, Inc. <<http://fsf.org/>>_
|
|
@@ -193,20 +192,20 @@ You may convey a work based on the Program, or the modifications to produce it f
|
|
|
193
192
|
the Program, in the form of source code under the terms of section 4, provided that
|
|
194
193
|
you also meet all of these conditions:
|
|
195
194
|
|
|
196
|
-
|
|
197
|
-
relevant date.
|
|
198
|
-
|
|
199
|
-
License and any conditions added under section 7. This requirement modifies the
|
|
200
|
-
requirement in section 4 to “keep intact all notices”.
|
|
201
|
-
|
|
202
|
-
comes into possession of a copy. This License will therefore apply, along with any
|
|
203
|
-
applicable section 7 additional terms, to the whole of the work, and all its parts,
|
|
204
|
-
regardless of how they are packaged. This License gives no permission to license the
|
|
205
|
-
work in any other way, but it does not invalidate such permission if you have
|
|
206
|
-
separately received it.
|
|
207
|
-
|
|
208
|
-
Notices; however, if the Program has interactive interfaces that do not display
|
|
209
|
-
Appropriate Legal Notices, your work need not make them do so.
|
|
195
|
+
- **a)** The work must carry prominent notices stating that you modified it, and giving a
|
|
196
|
+
relevant date.
|
|
197
|
+
- **b)** The work must carry prominent notices stating that it is released under this
|
|
198
|
+
License and any conditions added under section 7. This requirement modifies the
|
|
199
|
+
requirement in section 4 to “keep intact all notices”.
|
|
200
|
+
- **c)** You must license the entire work, as a whole, under this License to anyone who
|
|
201
|
+
comes into possession of a copy. This License will therefore apply, along with any
|
|
202
|
+
applicable section 7 additional terms, to the whole of the work, and all its parts,
|
|
203
|
+
regardless of how they are packaged. This License gives no permission to license the
|
|
204
|
+
work in any other way, but it does not invalidate such permission if you have
|
|
205
|
+
separately received it.
|
|
206
|
+
- **d)** If the work has interactive user interfaces, each must display Appropriate Legal
|
|
207
|
+
Notices; however, if the Program has interactive interfaces that do not display
|
|
208
|
+
Appropriate Legal Notices, your work need not make them do so.
|
|
210
209
|
|
|
211
210
|
A compilation of a covered work with other separate and independent works, which are
|
|
212
211
|
not by their nature extensions of the covered work, and which are not combined with
|
|
@@ -222,35 +221,35 @@ You may convey a covered work in object code form under the terms of sections 4
|
|
|
222
221
|
5, provided that you also convey the machine-readable Corresponding Source under the
|
|
223
222
|
terms of this License, in one of these ways:
|
|
224
223
|
|
|
225
|
-
|
|
226
|
-
physical distribution medium), accompanied by the Corresponding Source fixed on a
|
|
227
|
-
durable physical medium customarily used for software interchange.
|
|
228
|
-
|
|
229
|
-
physical distribution medium), accompanied by a written offer, valid for at least
|
|
230
|
-
three years and valid for as long as you offer spare parts or customer support for
|
|
231
|
-
that product model, to give anyone who possesses the object code either **(1)** a copy of
|
|
232
|
-
the Corresponding Source for all the software in the product that is covered by this
|
|
233
|
-
License, on a durable physical medium customarily used for software interchange, for
|
|
234
|
-
a price no more than your reasonable cost of physically performing this conveying of
|
|
235
|
-
source, or **(2)** access to copy the Corresponding Source from a network server at no
|
|
236
|
-
charge.
|
|
237
|
-
|
|
238
|
-
provide the Corresponding Source. This alternative is allowed only occasionally and
|
|
239
|
-
noncommercially, and only if you received the object code with such an offer, in
|
|
240
|
-
accord with subsection 6b.
|
|
241
|
-
|
|
242
|
-
a charge), and offer equivalent access to the Corresponding Source in the same way
|
|
243
|
-
through the same place at no further charge. You need not require recipients to copy
|
|
244
|
-
the Corresponding Source along with the object code. If the place to copy the object
|
|
245
|
-
code is a network server, the Corresponding Source may be on a different server
|
|
246
|
-
(operated by you or a third party) that supports equivalent copying facilities,
|
|
247
|
-
provided you maintain clear directions next to the object code saying where to find
|
|
248
|
-
the Corresponding Source. Regardless of what server hosts the Corresponding Source,
|
|
249
|
-
you remain obligated to ensure that it is available for as long as needed to satisfy
|
|
250
|
-
these requirements.
|
|
251
|
-
|
|
252
|
-
other peers where the object code and Corresponding Source of the work are being
|
|
253
|
-
offered to the general public at no charge under subsection 6d.
|
|
224
|
+
- **a)** Convey the object code in, or embodied in, a physical product (including a
|
|
225
|
+
physical distribution medium), accompanied by the Corresponding Source fixed on a
|
|
226
|
+
durable physical medium customarily used for software interchange.
|
|
227
|
+
- **b)** Convey the object code in, or embodied in, a physical product (including a
|
|
228
|
+
physical distribution medium), accompanied by a written offer, valid for at least
|
|
229
|
+
three years and valid for as long as you offer spare parts or customer support for
|
|
230
|
+
that product model, to give anyone who possesses the object code either **(1)** a copy of
|
|
231
|
+
the Corresponding Source for all the software in the product that is covered by this
|
|
232
|
+
License, on a durable physical medium customarily used for software interchange, for
|
|
233
|
+
a price no more than your reasonable cost of physically performing this conveying of
|
|
234
|
+
source, or **(2)** access to copy the Corresponding Source from a network server at no
|
|
235
|
+
charge.
|
|
236
|
+
- **c)** Convey individual copies of the object code with a copy of the written offer to
|
|
237
|
+
provide the Corresponding Source. This alternative is allowed only occasionally and
|
|
238
|
+
noncommercially, and only if you received the object code with such an offer, in
|
|
239
|
+
accord with subsection 6b.
|
|
240
|
+
- **d)** Convey the object code by offering access from a designated place (gratis or for
|
|
241
|
+
a charge), and offer equivalent access to the Corresponding Source in the same way
|
|
242
|
+
through the same place at no further charge. You need not require recipients to copy
|
|
243
|
+
the Corresponding Source along with the object code. If the place to copy the object
|
|
244
|
+
code is a network server, the Corresponding Source may be on a different server
|
|
245
|
+
(operated by you or a third party) that supports equivalent copying facilities,
|
|
246
|
+
provided you maintain clear directions next to the object code saying where to find
|
|
247
|
+
the Corresponding Source. Regardless of what server hosts the Corresponding Source,
|
|
248
|
+
you remain obligated to ensure that it is available for as long as needed to satisfy
|
|
249
|
+
these requirements.
|
|
250
|
+
- **e)** Convey the object code using peer-to-peer transmission, provided you inform
|
|
251
|
+
other peers where the object code and Corresponding Source of the work are being
|
|
252
|
+
offered to the general public at no charge under subsection 6d.
|
|
254
253
|
|
|
255
254
|
A separable portion of the object code, whose source code is excluded from the
|
|
256
255
|
Corresponding Source as a System Library, need not be included in conveying the
|
|
@@ -316,22 +315,22 @@ Notwithstanding any other provision of this License, for material you add to a
|
|
|
316
315
|
covered work, you may (if authorized by the copyright holders of that material)
|
|
317
316
|
supplement the terms of this License with terms:
|
|
318
317
|
|
|
319
|
-
|
|
320
|
-
sections 15 and 16 of this License; or
|
|
321
|
-
|
|
322
|
-
attributions in that material or in the Appropriate Legal Notices displayed by works
|
|
323
|
-
containing it; or
|
|
324
|
-
|
|
325
|
-
modified versions of such material be marked in reasonable ways as different from the
|
|
326
|
-
original version; or
|
|
327
|
-
|
|
328
|
-
material; or
|
|
329
|
-
|
|
330
|
-
trademarks, or service marks; or
|
|
331
|
-
|
|
332
|
-
who conveys the material (or modified versions of it) with contractual assumptions of
|
|
333
|
-
liability to the recipient, for any liability that these contractual assumptions
|
|
334
|
-
directly impose on those licensors and authors.
|
|
318
|
+
- **a)** Disclaiming warranty or limiting liability differently from the terms of
|
|
319
|
+
sections 15 and 16 of this License; or
|
|
320
|
+
- **b)** Requiring preservation of specified reasonable legal notices or author
|
|
321
|
+
attributions in that material or in the Appropriate Legal Notices displayed by works
|
|
322
|
+
containing it; or
|
|
323
|
+
- **c)** Prohibiting misrepresentation of the origin of that material, or requiring that
|
|
324
|
+
modified versions of such material be marked in reasonable ways as different from the
|
|
325
|
+
original version; or
|
|
326
|
+
- **d)** Limiting the use for publicity purposes of names of licensors or authors of the
|
|
327
|
+
material; or
|
|
328
|
+
- **e)** Declining to grant rights under trademark law for use of some trade names,
|
|
329
|
+
trademarks, or service marks; or
|
|
330
|
+
- **f)** Requiring indemnification of licensors and authors of that material by anyone
|
|
331
|
+
who conveys the material (or modified versions of it) with contractual assumptions of
|
|
332
|
+
liability to the recipient, for any liability that these contractual assumptions
|
|
333
|
+
directly impose on those licensors and authors.
|
|
335
334
|
|
|
336
335
|
All other non-permissive additional terms are considered “further
|
|
337
336
|
restrictions” within the meaning of section 10. If the Program as you received
|
package/README.md
CHANGED
|
@@ -9,7 +9,7 @@ maidr is a system for non-visual access and control of statistical plots. It aim
|
|
|
9
9
|
3. [Braille Generation](#braille-generation)
|
|
10
10
|
4. [License](#license)
|
|
11
11
|
5. [Contact](#contact)
|
|
12
|
-
6. [
|
|
12
|
+
6. [Acknowledgments](#acknowledgments)
|
|
13
13
|
|
|
14
14
|
## Usage
|
|
15
15
|
|
|
@@ -25,16 +25,16 @@ To use maidr, follow these steps:
|
|
|
25
25
|
<head>
|
|
26
26
|
<meta charset="UTF-8" />
|
|
27
27
|
<title>maidr Example</title>
|
|
28
|
-
<link
|
|
28
|
+
<link
|
|
29
|
+
rel="stylesheet"
|
|
30
|
+
href="https://cdn.jsdelivr.net/npm/maidr/dist/maidr_style.min.css"
|
|
31
|
+
/>
|
|
32
|
+
<script src="https://cdn.jsdelivr.net/npm/maidr/dist/maidr.min.js"></script>
|
|
29
33
|
</head>
|
|
30
34
|
<body>
|
|
31
35
|
<div>
|
|
32
36
|
<!-- Your SVG plot is here -->
|
|
33
37
|
</div>
|
|
34
|
-
<script>
|
|
35
|
-
<!-- json data is here -->
|
|
36
|
-
</script>
|
|
37
|
-
<script src="maidr.min.js"></script>
|
|
38
38
|
</body>
|
|
39
39
|
</html>
|
|
40
40
|
```
|
|
@@ -236,20 +236,29 @@ Below is a detailed list of keyboard shortcuts for various functions:
|
|
|
236
236
|
|
|
237
237
|
### Scatterplot Controls
|
|
238
238
|
|
|
239
|
-
In the Scatterplot
|
|
239
|
+
In the Scatterplot, there are two layers: point mode (layer 1) and line mode (layer 2). To switch between these layers, use the Page Up and Page Down keys:
|
|
240
240
|
|
|
241
241
|
- Press Page Up to move from point mode to line mode
|
|
242
242
|
- Press Page Down to move from line mode to point mode
|
|
243
243
|
|
|
244
244
|
Note that this control scheme can be used by any plot with multiple types.
|
|
245
245
|
|
|
246
|
+
### Segmented Bar Controls
|
|
247
|
+
|
|
248
|
+
In the various segmented bar plots (stacked bar, dodged bar, and normalized stacked bar), Up Down Left Right controls function similar to a grid:
|
|
249
|
+
|
|
250
|
+
- Left and Right arrows move between different bars or points on the x axis.
|
|
251
|
+
- Up and Down arrows move between different layers of the same bar or point on the x axis.
|
|
252
|
+
|
|
253
|
+
Note that there are also pseudo layers at the top of each layer stack: a Summary layer representing a sum of all that bar's values, and a Combined layer that plays a separated or combined run of tones of all the layers. The standard 'S' key that controls sonification now has an extra setting to play either combined tones or separated tones.
|
|
254
|
+
|
|
246
255
|
## Braille Generation
|
|
247
256
|
|
|
248
257
|
maidr incorporates a Braille mode that represents the plot using Braille symbols. This allows users with visual impairments to explore and interact with the plot using a refreshable Braille display. To achieve this, our system translates the plot's visual elements and data points into a corresponding tactile representation using Braille patterns. For different plot types, such as barplot, boxplot, heatmap, and scatterplot, maidr employs unique encoding strategies tailored to effectively convey the data distribution, patterns, and trends. These tactile encodings range from using distinct Braille characters to represent value ranges, to employing characters that visually resemble the corresponding sections of a plot. By providing a comprehensive Braille representation for various plot types, maidr enables users with visual impairments to gain a deeper understanding of the underlying data and its insights.
|
|
249
258
|
|
|
250
259
|
### Barplot
|
|
251
260
|
|
|
252
|
-
In the Braille representation of a barplot, data values are encoded as Braille characters based on their relative magnitude within the plot. Low values are denoted by Braille characters that have dots only along the bottom, while high values are indicated by characters that
|
|
261
|
+
In the Braille representation of a barplot, data values are encoded as Braille characters based on their relative magnitude within the plot. Low values are denoted by Braille characters that have dots only along the bottom, while high values are indicated by characters that have dots along the top. Given the four height levels of Braille, the encoding is as follows:
|
|
253
262
|
|
|
254
263
|
- ⣀ represents values 0 to 25%
|
|
255
264
|
- ⠤ represents the 25% to 50%
|
|
@@ -318,6 +327,20 @@ In the Braille representation of a scatterplot, the encoding is performed only f
|
|
|
318
327
|
- ⠒ represents values from 50% to 75%
|
|
319
328
|
- ⠉ represents values from 75% to 100%
|
|
320
329
|
|
|
330
|
+
### Segmented Bar Plots
|
|
331
|
+
|
|
332
|
+
Stacked bar, dodged bar, and normalized stacked bar all share the same system:
|
|
333
|
+
|
|
334
|
+
In the braille representation of segmented bar plots, braille depends on where you are. There are typically multiple levels to a segmented bar plot, and as you move (Up and Down arrow keys) between levels, the braille changes to represent your current level. At the top, there is also a Summary pseudo layer of all levels added together, and a Combined pseudo layer of each layer seperately.
|
|
335
|
+
|
|
336
|
+
- Regular layers: Braille appears similar to a bar plot, with braille values corresponding to the magnitude of the layer's value for this point.
|
|
337
|
+
- Summary layer: Same as regular layers, but values now reflect the combined magnitude of all layers' values for this point.
|
|
338
|
+
- Combined layer: Similar to heatmap, where there are groups of magnitudes for each point separated by a ⢳ character. The first group has braille characters for each layer for the first point, then a seperator, then the second group has braille characters for each layer in the second point, then a seperator, and so on.
|
|
339
|
+
|
|
340
|
+
### Lineplot
|
|
341
|
+
|
|
342
|
+
In the Braille representation of a lineplot, braille is nearly identical to the above barplot: data values are encoded as Braille characters based on their relative magnitude within the plot. Low values are denoted by Braille characters that have dots only along the bottom, while high values are indicated by characters that have dots higher up.
|
|
343
|
+
|
|
321
344
|
## License
|
|
322
345
|
|
|
323
346
|
This project is licensed under the GPL 3 License.
|