forked from access42/AccesSlide
-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.htm
389 lines (346 loc) · 18 KB
/
index.htm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
<!DOCTYPE html>
<html lang="fr">
<head>
<title>Diaporama AccesSlide - Access 42</title>
<meta charset="utf-8"> <!-- Layout stylesheet -->
<link rel="stylesheet" href="css/font/small.css" type="text/css" media="screen">
<link rel="stylesheet" href="css/style.css" type="text/css" media="screen">
<!-- Theme stylesheet -->
<link rel="stylesheet" id="currentCSS" href="css/themes/default.min.css" type="text/css" media="all">
<link rel="stylesheet" href="css/print.css" type="text/css" media="print">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script src="AccesSlide.js"></script>
<script src="lang/lang_fr.js"></script>
<script src="highlight/highlight.pack.js"></script>
<script>hljs.initHighlightingOnLoad();</script>
<style>
.lang-btn{position:absolute;text-decoration:none;font-size:70%;right:20px;border-top:0;padding:0 5px 3px 5px;border-radius:0 0 3px 3px;z-index:900;box-shadow:0 0 2px #999;background:#fafafa}
.lang-btn:hover,.lang-btn:focus{background:#f2f2f2;}
</style>
</head>
<body>
<a href="https://github.com/access42/AccesSlide" class="btn-github noprint" lang="en"><img src="img_slide/forkme.png" alt="Fork me on Github"></a>
<a lang="en" class="lang-btn" href="en/index.htm">English</a>
<div id="screen" class="modeplan" data-effect="Eno">
<div id="volet"></div>
<header id="banner" role="banner" class="main-header clearfix">
<a href="http://www.access42.net"><img id="logo" class="main-logo" src="img_slide/logo_transparent.png" alt="Access42" /></a>
<h1 class="main-title">Diaporama AccesSlide - Access42</h1>
</header>
<div id="nav" class="tool-bar footer-nav clearfix">
<div id="wrappernav">
<ul class="related">
<li><a href="http://www.access42.net">www.access42.net</a></li>
<li><a href="https://twitter.com/access42net">
<span class="icon-fallback-text">
<span class="icon icon-twitter" aria-hidden="true"></span>
<img class="text" src="img/twitter.png" alt="" />
</span>
@access42net</a></li>
<li><a href="https://github.com/access42/" lang="en">
<span class="icon-fallback-text">
<span class="icon icon-github" aria-hidden="true"></span>
<img class="text" src="img/github.png" alt="" />
</span>
Github</a></li>
</ul>
</div>
</div>
<nav role="navigation" id="sommaire" class="tool-block tool-block-summary" tabindex="-1"></nav>
<div id="wrapper">
<main role="main" id="main">
<section class="slide couv">
<h2>AccesSlide <br /><span class="small">Enfin un diaporama accessible</span></h2>
<p>par <a href="http://www.access42.net">Access42</a></p>
</section>
<section class="slide">
<h2>Structure</h2>
<p>Les diapos s'insèrent dans l'élément <code>main</code> avec des éléments <code>section</code> associés à une classe <code>slide</code>.</p>
<p>La première diapositive possède une classe complémentaire <code>couv</code>. La dernière, une classe <code>end</code>.</p>
<p>On peut imbriquer des <code>section</code> dans des <code>section</code>.</p>
</section>
<section class="slide">
<h2>Exemple minimal de structure</h2>
<pre><code class="html"><section class="slide">
<h2>Titre de la diapo</h2>
[contenu]
</section>
<section class="slide" aria-label="titre de la diapo">
[contenu]
</section></code></pre>
</section>
<section class="slide">
<h2>Masquer des éléments</h2>
<p>Tous les éléments <code>html</code> d'une diapo peuvent être masqués via la classe <code>Cmasque</code>. Ils apparaîtront avec l'action « diapo suivante ».
</p>
<p>Exemple : cette diapositive contient trois éléments masqués.</p>
<ul>
<li class="Cmasque">un texte masqué ;</li>
<li class="Cmasque">un second texte masqué, <span class="Cmasque"> un élément masqué en ligne.</span></li>
</ul>
</section>
<section class="slide">
<h2>Navigation</h2>
<p>La barre de navigation contient successivement :</p>
<ol>
<li>un bouton <kbd>précédent</kbd> ;</li>
<li>une <kbd>liste de sélection</kbd> pour atteindre une diapo par son index ;</li>
<li>un bouton <kbd>suivant</kbd> ;</li>
<li>un <kbd>sommaire</kbd> pour atteindre une diapo via son titre ;</li>
<li>l'index (n° de la diapo courante et total des diapos) ;</li>
<li>un bouton de <kbd>configuration</kbd>.</li>
</ol>
</section>
<section class="slide">
<h2>Navigation clavier</h2>
<ul>
<li><kbd>Espace</kbd> ; <kbd>Flèche droite</kbd> ; <kbd>Clic</kbd> Diapo suivante</li>
<li><kbd>MAJ + Espace</kbd> ; <kbd>Flèche gauche</kbd> Diapo précédente</li>
<li><kbd>Début</kbd> Première diapo</li>
<li><kbd>Fin</kbd> Dernière diapo</li>
<li><kbd>ALT + 0 (zéro)</kbd> Sommaire</li>
</ul>
<p class="small">Pour passer à la diapo suivante avec <span lang="en">Jaws</span> : ignorer l'appui sur la touche suivante (<kbd>INSERT</kbd> + <kbd>3</kbd>), puis appuyer sur la barre <kbd>Espace</kbd> pour faire défiler le diaporama.</p>
<p class="small">Avec NVDA, ignorer la touche suivante n'est pas nécessaire, la barre d'espace fonctionne.</p>
</section>
<section class="slide">
<h2>Navigation avec une télécommande</h2>
<p>Le diaporama se pilote avec une télécommande via les équivalents de touches <kbd>Page suivante</kbd> et <kbd>Page précédente</kbd>.</p>
</section>
<section class="slide">
<h2>Effets</h2>
<p>Les effets disponibles se paramètrent via le panneau de configuration.</p>
<h3>Pour créer vos propres effets :</h3>
<ol>
<li>Créer une <code>class</code>, par exemple <code>.mon-effet</code>.</li>
<li>Dans le fichier <code>AccesSlide.js</code>, créer une entrée dans l'objet <code>config</code> (voir les instructions dans le fichier à la section <code>Effects</code>).</li>
<li>Dans le fichier de langue : créer une entrée pour l'étiquette de l'effet. Attention : l'entrée dans le fichier de langue doit avoir le même nom que dans l'objet <code>config</code>.</li>
</ol>
<p>Le nouvel effet sera ajouté automatiquement à la liste des effets dans le panneau de configuration.</p>
</section>
<section class="slide">
<h2>CSS</h2>
<p>2 fichiers CSS sont nécessaires : </p>
<ul>
<li><code>css/style.css</code> : propriétés générales du diaporama ;</li>
<li><code>css/themes/default.css</code> : thème du diaporama.</li>
</ul>
</section>
<section class="slide">
<h2>Thèmes</h2>
<p>Plusieurs thèmes sont livrés avec AccesSlide dans le dossier <code>css/themes</code> :</p>
<ul>
<li><button onClick="javascript:changeColors('default');return false;">Thème par défaut</button></li>
<li><button onClick="javascript:changeColors('xmas');return false;">Thème de Noël</button></li>
<li><button onClick="javascript:changeColors('black');return false;">Thème sombre</button></li>
</ul>
<pre>
<code class="html"><!-- Theme stylesheet -->
<link rel="stylesheet" href="css/themes/default.css" type="text/css" media="all" /></code>
</pre>
</section>
<section class="slide">
<h2>Post-processeur</h2>
<p>Le fichier CSS est généré à l'aide du post-processeur <a href="http://www.myth.io/"><strong>Myth</strong></a>.</p>
<p>Les fichiers sources sont placés dans le dossier <code>css/sources</code> et dans <code>css/sources/themes</code> pour les thèmes</p>
<p>Les fichiers sont compilés dans :</p>
<ul>
<li>le dossier <code>css/themes</code> pour les thèmes ;</li>
<li>le dossier <code>css/</code> pour la mise en forme générale.</li>
</ul>
<p>Tous les fichiers sont également proposés dans une version non minifiée pour vous permettre de modifier ou créer votre propre CSS sans passer par un post-processeur.</p>
</section>
<section class="slide">
<h2>Automatisation avec <span lang="en">Grunt</span></h2>
<p>Une configuration minimale <span lang="en">Grunt</span> est à votre disposition également pour la compilation des CSS. Les 4 modules configurés dans <code>Gruntfile.js</code> : </p>
<ul>
<li><a href="https://www.npmjs.com/package/grunt-myth">grunt-myth</a> : pour compiler au format CSS ;</li>
<li><a href="https://www.npmjs.com/package/grunt-contrib-cssmin">grunt-contrib-cssmin</a> : pour minifier le CSS ;</li>
<li><a href="https://www.npmjs.com/package/grunt-combine-media-queries">grunt-combine-media-queries</a> : pour regrouper les <span lang="en">media queries</span> ;</li>
<li><a href="https://www.npmjs.com/package/grunt-contrib-watch">grunt-contrib-watch</a>.</li>
</ul>
</section>
<section class="slide">
<h2>Personnaliser l'interface</h2>
<div class="col-left">
<p>Les icônes (barre d'outils, configuration, etc.) sont générées grâce à <a href="http://fortawesome.github.io/Font-Awesome/" lang="en">fontawesome</a>.</p>
<p>Le <span lang="en">fallback</span> en cas de non chargement de la police est permis grâce au script <a lang="en" href="https://github.com/filamentgroup/a-font-garde">a font garde</a> de Filament Group. <span class="small">Ce sont les images du dossier <code>img</code> qui prennent le relais en cas de non chargement.</span></p>
</div>
<div class="col-left">
<p>Les fichiers CSS d'AccesSlide n'embarquent pas entièremment la bibliothèque <span lang="en">fontawesome</span>. Pour modifier une icône, référez-vous à <a href="http://fortawesome.github.io/Font-Awesome/icons/">la documentation <span lang="en">fontawesome</span></a> et modifiez le fichier CSS d'AccesSlide avec le code voulu.</p>
<pre><code>
.icon-setting-sound:before{
content: "\f028";
}</code>
</pre>
</div>
</section>
<section class="slide">
<h2>Tableaux</h2>
<table>
<caption>La légende du tableau</caption>
<tr>
<th scope="col">un en-tête</th>
<th scope="col">un en-tête</th>
<th scope="col">un en-tête</th>
<th scope="col">un en-tête</th>
</tr>
<tr>
<td>une cellule</td>
<td>une cellule</td>
<td>une cellule</td>
<td>une cellule</td>
</tr>
<tr>
<td>une cellule</td>
<td>une cellule</td>
<td>une cellule</td>
<td>une cellule</td>
</tr>
<tr>
<td>une cellule</td>
<td>une cellule</td>
<td>une cellule</td>
<td>une cellule</td>
</tr>
</table>
</section>
<section class="slide">
<h2>Images</h2>
<div class="col col-left">
<p class="center">On peut mettre des mignons chats,</p>
<img src="img_slide/mignon-chat.jpg" alt="" />
</div>
<div class="col col-right">
<div class="Cmasque">
<p class="center">mais aussi des chats qui font peur !</p>
<img src="img_slide/chat-qui-fait-peur.jpg" alt="" />
</div>
</div>
</section>
<section class="slide">
<h2>Titres</h2>
<p>La hiérarchie débute avec <code><h1></code>, titre du diaporama.</p>
<p>Vous pouvez utiliser tous les niveaux de titre par la suite.</p>
<h2>Un titre de niveau 2</h2>
<h3>Un titre de niveau 3</h3>
<h4>Un titre de niveau 4</h4>
<h5>Un titre de niveau 5</h5>
<h6>Un titre de niveau 6</h6>
</section>
<section class="slide">
<h2>Vue responsive</h2>
<img class="center" src="img_slide/responsive.png" alt="" />
<p class="center">La mise en forme est réalisée pour s'adapter à la taille de la police et la taille de la fenêtre.</p>
</section>
<section class="slide">
<h2>Adaptation accessibilité</h2>
<p>Ces paramètres sont configurables via le panneau de configuration. Les paramètres sont persistants (utilisation de <code>cookies</code> ou de <code>localStorage</code> si possible). Un bouton <kbd>Défaut</kbd> permet de revenir à la configuration par défaut.</p>
<ul>
<li><code>N° de diapo</code> Vocalise les numéros des diapos</li>
<li><code>Textes masqués</code> Émet un bip lorsqu'un texte masqué est affiché</li>
<li><code>Diapo</code> Émet un bip à l'affichage d'une diapo</li>
<li><code>Diapo début</code> Émet un bip lors de l'affichage de la première diapo</li>
<li><code>Diapo fin</code> Émet un bip lors de l'affichage de la dernière diapo</li>
<li><code>Titre</code> Vocalise le titre de la diapo courante</li>
<li><code>Titre fenêtre</code> Met à jour le titre de la fenêtre lors de l'affichage de la diapo courante</li>
<li><code>Bouton suivant</code> Donne le focus sur le bouton <kbd>Suivant</kbd> lors du chargement du diaporama</li>
<li><code>Clic</code> Désactive le clic pour aller à la diapo suivante</li>
</ul>
</section>
<section class="slide">
<h2>Bibliothèque des sons</h2>
<div class="discT">
<ul id="discUL" class="list-disc">
<li><button class="disc disc1" type="button" onClick="document.getElementById('audiotest1').play();">Diapo de couverture</button></li>
<li><button class="disc disc1" type="button" onClick="document.getElementById('audiotest2').play();">Textes masqués</button></li>
<li><button class="disc disc1" type="button" onClick="document.getElementById('audiotest3').play();">Affichage des diapos</button></li>
<li><button class="disc disc1" type="button" onClick="document.getElementById('audiotest4').play();">Dernière diapo</button></li>
</ul>
<div style="display:none">
<audio id="audiotest1">
<source type="audio/mp3" src="sound/bip_diapo1_on.mp3">
<source type="audio/ogg" src="sound/bip_diapo1_on.ogg">
</audio>
<audio id="audiotest2">
<source type="audio/mp3" src="sound/bip_texte_masque.mp3">
<source type="audio/ogg" src="sound/bip_texte_masque.ogg">
</audio>
<audio id="audiotest3">
<source type="audio/mp3" src="sound/bip_diapo_on.mp3">
<source type="audio/ogg" src="sound/bip_diapo_on.ogg">
</audio>
<audio id="audiotest4">
<source type="audio/mp3" src="sound/bip_diapo_end.mp3">
<source type="audio/ogg" src="sound/bip_diapo_end.ogg">
</audio>
</div>
</div>
</section>
<section class="slide">
<h2>Autres paramètres</h2>
<ul>
<li><code>Sommaire</code> : Choisir le comportement du sommaire (modal ou non-modal). Dans le cas d'un sommaire non-modal, les diapos sont redimensionnées.</li>
<li><code>Mode plan</code> : Affiche le diaporama en mode linéaire</li>
</ul>
<p>Ces paramètres se configurent via le panneau configuration.</p>
</section>
<section class="slide">
<h2>Impression</h2>
<p>Une feuille <code>print.css</code> permet une mise en page lors de l'impression via le navigateur (<kbd>Ctrl</kbd> + <kbd>p</kbd>).</p>
<p>L'impression embarque certains des styles du thème choisi (propriété <code>all</code> du fichier CSS du thème).</p>
<p>Pour qu'un élément, ou une section entière, n'apparaisse pas lors de l'impression, ajoutez une classe <code>noprint</code>.</p>
<pre><code class="html"><section class="slide noprint">
[contenu]
</section></code></pre>
</section>
<section class="slide">
<h2>Javascript</h2>
<p>Vous pouvez utiliser vos propres <code>scripts</code> dans la page <code>html</code> ou via le fichier <code>slide.js</code></p>
</section>
<section class="slide">
<h2>Le mode plan</h2>
<p>Le mode plan vous permet d'afficher le diaporama sous la forme d'un contenu linéarisé, ce qui permet un travail plus rapide pour la vérification et la préparation des contenus.</p>
<p>Le mode plan s'active via le <code>panneau de configuration</code>. Des repères et le numéro des diapos indiquent le contenu de chaque diapo.</p>
<p>Le mode plan conserve les styles <code>CSS</code> des diapos, mais pas les effets.</p>
<div class="Cmasque">
<h3>Astuce !</h3>
<p>Utiliser deux navigateurs, chacun dans un mode différent, pour écrire et jouer votre diaporama.</p>
</div>
</section>
<section class="slide">
<h2>Localisation</h2>
<p>Les éléments de l'interface peuvent être traduits via un fichier de langue (dossier <code>lang</code>).</p>
<p>Pour utiliser un fichier de langue, modifiez la référence au fichier dans le <code>head</code> de la page. Par exemple, pour le fichier français :</p>
<pre><code><script type="text/javascript" src="lang/lang_fr.js"></script></code></pre>
</section>
<section class="slide">
<h2>Produire un fichier de langue</h2>
<ol>
<li>Ouvrez le fichier de langue avec un éditeur de texte.</li>
<li>Modifiez les étiquettes <code>label</code> des boutons, les alternatives <code>alt</code> des images, les intitulés <code>value</code> des options de la liste des effets, les titres <code>title</code> de boutons ou de fenêtres et les messages <code>help</code> d'aide.
</li>
<li>Enregistrez votre fichier de langue en utilisant le nom de fichier <code>lang_[code de langue].js</code>.
</ol>
</section>
<section class="slide end noprint">
<h2 class="end-title">Merci de votre attention !</h2>
<ul class="credit">
<li><a href="http://www.gnu.org/copyleft/gpl.html">Licence GPL</a></li>
<li><a href="https://github.com/access42/accesSlide">Dépot <span lang="en">Github</span></a></li>
</ul>
<p><br /><a href="http://access42.net/-labs-12-.html">Découvrez nos autres projets</a></p>
</section>
</main>
</div>
<div id="setting" class="tool-block tool-block-settings " role="dialog" tabindex="-1" style="display:none"></div>
</div>
<div id="Caudio"></div>
<div id="Dcourante" aria-live="polite" aria-atomic="true" aria-hidden="true"></div>
<script src="slide.js"></script>
<script src="afontgarde.js"></script>
<script>
AFontGarde( 'FontAwesome', '\uE600\uE601\uE602\uE605');
</script>
</body>
</html>