1
0
mirror of https://github.com/Jermolene/TiddlyWiki5 synced 2024-11-23 10:07:19 +00:00

Merge branch 'accessibility'

This commit is contained in:
Jermolene 2014-06-17 11:49:06 +01:00
commit 8bd19c4e6a
22 changed files with 67 additions and 22 deletions

View File

@ -0,0 +1,26 @@
title: $:/language/Buttons/
AdvancedSearch/Caption: advanced search
AdvancedSearch/Hint: Advanced search
Cancel/Caption: cancel
Cancel/Hint: Cancel editing this tiddler
Close/Caption: close
Close/Hint: Close this tiddler
ControlPanel/Caption: control panel
ControlPanel/Hint: Open control panel
Delete/Caption: delete
Delete/Hint: Delete this tiddler
Edit/Caption: edit
Edit/Hint: Edit this tiddler
Info/Caption: info
Info/Hint: Show information for this tiddler
NewTiddler/Caption: new tiddler
NewTiddler/Hint: Create a new tiddler
Save/Caption: save
Save/Hint: Save this tiddler
SaveWiki/Caption: save changes
SaveWiki/Hint: Save changes
HideSideBar/Caption: hide sidebar
HideSideBar/Hint: Hide sidebar
ShowSideBar/Caption: show sidebar
ShowSideBar/Hint: Show sidebar

View File

@ -1,5 +1,6 @@
title: $:/language/Docs/Fields/ title: $:/language/Docs/Fields/
_canonical_uri: The full URI of an external image tiddler
bag: The name of the bag from which a tiddler came bag: The name of the bag from which a tiddler came
caption: The text to be displayed on a tab or button caption: The text to be displayed on a tab or button
color: The CSS color value associated with a tiddler color: The CSS color value associated with a tiddler

View File

@ -46,10 +46,16 @@ ButtonWidget.prototype.render = function(parent,nextSibling) {
} }
} }
domNode.className = classes.join(" "); domNode.className = classes.join(" ");
// Assign classes // Assign other attributes
if(this.style) { if(this.style) {
domNode.setAttribute("style",this.style); domNode.setAttribute("style",this.style);
} }
if(this.title) {
domNode.setAttribute("title",this.title);
}
if(this["aria-label"]) {
domNode.setAttribute("aria-label",this["aria-label"]);
}
// Add a click event handler // Add a click event handler
domNode.addEventListener("click",function (event) { domNode.addEventListener("click",function (event) {
var handled = false; var handled = false;
@ -134,6 +140,8 @@ ButtonWidget.prototype.execute = function() {
this.popup = this.getAttribute("popup"); this.popup = this.getAttribute("popup");
this.hover = this.getAttribute("hover"); this.hover = this.getAttribute("hover");
this["class"] = this.getAttribute("class",""); this["class"] = this.getAttribute("class","");
this["aria-label"] = this.getAttribute("aria-label");
this.title = this.getAttribute("title");
this.style = this.getAttribute("style"); this.style = this.getAttribute("style");
this.selectedClass = this.getAttribute("selectedClass"); this.selectedClass = this.getAttribute("selectedClass");
this.defaultSetValue = this.getAttribute("default"); this.defaultSetValue = this.getAttribute("default");

View File

@ -87,6 +87,9 @@ LinkWidget.prototype.renderLink = function(parent,nextSibling) {
}); });
domNode.setAttribute("title",tooltipText); domNode.setAttribute("title",tooltipText);
} }
if(this["aria-label"]) {
domNode.setAttribute("aria-label",this["aria-label"]);
}
// Add a click event handler // Add a click event handler
$tw.utils.addEventListeners(domNode,[ $tw.utils.addEventListeners(domNode,[
{name: "click", handlerObject: this, handlerMethod: "handleClickEvent"}, {name: "click", handlerObject: this, handlerMethod: "handleClickEvent"},
@ -176,8 +179,9 @@ Compute the internal state of the widget
LinkWidget.prototype.execute = function() { LinkWidget.prototype.execute = function() {
// Get the target tiddler title // Get the target tiddler title
this.to = this.getAttribute("to",this.getVariable("currentTiddler")); this.to = this.getAttribute("to",this.getVariable("currentTiddler"));
// Get the link title // Get the link title and aria label
this.tooltip = this.getAttribute("tooltip"); this.tooltip = this.getAttribute("tooltip");
this["aria-label"] = this.getAttribute("aria-label");
// Determine the link characteristics // Determine the link characteristics
this.isMissing = !this.wiki.tiddlerExists(this.to); this.isMissing = !this.wiki.tiddlerExists(this.to);
this.isShadow = this.wiki.isShadowTiddler(this.to); this.isShadow = this.wiki.isShadowTiddler(this.to);
@ -190,7 +194,7 @@ Selectively refreshes the widget if needed. Returns true if the widget or any of
*/ */
LinkWidget.prototype.refresh = function(changedTiddlers) { LinkWidget.prototype.refresh = function(changedTiddlers) {
var changedAttributes = this.computeAttributes(); var changedAttributes = this.computeAttributes();
if(changedAttributes.to || changedTiddlers[this.to] || changedAttributes.tooltip) { if(changedAttributes.to || changedTiddlers[this.to] || changedAttributes["aria-label"] || changedAttributes.tooltip) {
this.refreshSelf(); this.refreshSelf();
return true; return true;
} }

View File

@ -1,4 +1,4 @@
title: $:/core/ui/EditToolbar/cancel title: $:/core/ui/EditToolbar/cancel
tags: $:/tags/EditToolbar tags: $:/tags/EditToolbar
<$button message="tw-cancel-tiddler" class="btn-invisible">{{$:/core/images/cancel-button}}</$button> <$button message="tw-cancel-tiddler" title={{$:/language/Buttons/Cancel/Hint}} aria-label={{$:/language/Buttons/Cancel/Caption}} class="btn-invisible">{{$:/core/images/cancel-button}}</$button>

View File

@ -1,4 +1,4 @@
title: $:/core/ui/EditToolbar/delete title: $:/core/ui/EditToolbar/delete
tags: $:/tags/EditToolbar tags: $:/tags/EditToolbar
<$button message="tw-delete-tiddler" class="btn-invisible">{{$:/core/images/delete-button}}</$button> <$button message="tw-delete-tiddler" title={{$:/language/Buttons/Delete/Hint}} aria-label={{$:/language/Buttons/Delete/Caption}} class="btn-invisible">{{$:/core/images/delete-button}}</$button>

View File

@ -1,4 +1,4 @@
title: $:/core/ui/EditToolbar/save title: $:/core/ui/EditToolbar/save
tags: $:/tags/EditToolbar tags: $:/tags/EditToolbar
<$button message="tw-save-tiddler" class="btn-invisible">{{$:/core/images/done-button}}</$button> <$button message="tw-save-tiddler" title={{$:/language/Buttons/Save/Hint}} aria-label={{$:/language/Buttons/Save/Caption}} class="btn-invisible">{{$:/core/images/done-button}}</$button>

View File

@ -1,4 +1,4 @@
title: $:/core/ui/PageControls/control-panel title: $:/core/ui/PageControls/control-panel
tags: $:/tags/PageControls tags: $:/tags/PageControls
<$button to="$:/ControlPanel" class="btn-invisible">{{$:/core/images/options-button}}</$button> <$button to="$:/ControlPanel" title={{$:/language/Buttons/ControlPanel/Hint}} aria-label={{$:/language/Buttons/ControlPanel/Caption}} class="btn-invisible">{{$:/core/images/options-button}}</$button>

View File

@ -1,4 +1,4 @@
title: $:/core/ui/PageControls/new-tiddler title: $:/core/ui/PageControls/new-tiddler
tags: $:/tags/PageControls tags: $:/tags/PageControls
<$button message="tw-new-tiddler" class="btn-invisible">{{$:/core/images/new-button}}</$button> <$button message="tw-new-tiddler" title={{$:/language/Buttons/NewTiddler/Hint}} aria-label={{$:/language/Buttons/NewTiddler/Caption}} class="btn-invisible">{{$:/core/images/new-button}}</$button>

View File

@ -1,4 +1,4 @@
title: $:/core/ui/PageControls/save-wiki title: $:/core/ui/PageControls/save-wiki
tags: $:/tags/PageControls tags: $:/tags/PageControls
<$button message="tw-save-wiki" class="btn-invisible">{{$:/core/images/save-button}}</$button> <$button message="tw-save-wiki" title={{$:/language/Buttons/SaveWiki/Hint}} aria-label={{$:/language/Buttons/SaveWiki/Caption}} class="btn-invisible">{{$:/core/images/save-button}}</$button>

View File

@ -7,11 +7,11 @@ tags: $:/tags/PageTemplate
<$reveal state="$:/state/sidebar" type="match" text="yes" default="yes" retain="yes"> <$reveal state="$:/state/sidebar" type="match" text="yes" default="yes" retain="yes">
<div class="tw-site-title"> <h1 class="tw-site-title">
<$transclude tiddler="$:/SiteTitle" mode="inline"/> <$transclude tiddler="$:/SiteTitle" mode="inline"/>
</div> </h1>
<div class="tw-site-subtitle"> <div class="tw-site-subtitle">

View File

@ -5,7 +5,7 @@ caption: {{$:/language/SideBar/Open/Caption}}
\define lingo-base() $:/language/CloseAll/ \define lingo-base() $:/language/CloseAll/
<$list filter="[list[$:/StoryList]]" history="$:/HistoryList" storyview="pop"> <$list filter="[list[$:/StoryList]]" history="$:/HistoryList" storyview="pop">
<$button message="tw-close-tiddler" class="btn-invisible btn-mini">&times;</$button> <$link to={{!!title}}><$view field="title"/></$link> <$button message="tw-close-tiddler" title={{$:/language/Buttons/Close/Hint}} aria-label={{$:/language/Buttons/Close/Caption}} class="btn-invisible btn-mini">&times;</$button> <$link to={{!!title}}><$view field="title"/></$link>
</$list> </$list>

View File

@ -8,7 +8,7 @@ title: $:/core/ui/SideBarLists
<$link to="" class="btn-invisible">{{$:/core/images/close-button}}</$link> <$link to="" class="btn-invisible">{{$:/core/images/close-button}}</$link>
</$linkcatcher> </$linkcatcher>
</$reveal> </$reveal>
<$reveal state="$:/temp/search" type="match" text="">&nbsp;<$link to="$:/AdvancedSearch" class="btn-invisible">&hellip;</$link> <$reveal state="$:/temp/search" type="match" text="">&nbsp;<$link to="$:/AdvancedSearch" tooltip={{$:/language/Buttons/AdvancedSearch/Hint}} aria-label={{$:/language/Buttons/AdvancedSearch/Caption}} class="btn-invisible">&hellip;</$link>
</$reveal> </$reveal>
</div> </div>
<$reveal state="$:/temp/search" type="nomatch" text=""> <$reveal state="$:/temp/search" type="nomatch" text="">

View File

@ -2,8 +2,8 @@ title: $:/core/ui/TopBar/menu
tags: $:/tags/TopRightBar tags: $:/tags/TopRightBar
<$reveal state="$:/state/sidebar" type="nomatch" text="no"> <$reveal state="$:/state/sidebar" type="nomatch" text="no">
<$button set="$:/state/sidebar" setTo="no" class="btn-invisible">{{$:/core/images/chevron-right}}</$button> <$button set="$:/state/sidebar" setTo="no" title={{$:/language/Buttons/HideSideBar/Hint}} aria-label={{$:/language/Buttons/HideSideBar/Caption}} class="btn-invisible">{{$:/core/images/chevron-right}}</$button>
</$reveal> </$reveal>
<$reveal state="$:/state/sidebar" type="match" text="no"> <$reveal state="$:/state/sidebar" type="match" text="no">
<$button set="$:/state/sidebar" setTo="yes" class="btn-invisible">{{$:/core/images/chevron-left}}</$button> <$button set="$:/state/sidebar" setTo="yes" title={{$:/language/Buttons/ShowSideBar/Hint}} aria-label={{$:/language/Buttons/ShowSideBar/Caption}} class="btn-invisible">{{$:/core/images/chevron-left}}</$button>
</$reveal> </$reveal>

View File

@ -5,7 +5,7 @@ tags: $:/tags/ViewTemplate
fill:$(foregroundColor)$; fill:$(foregroundColor)$;
\end \end
<div class="tw-tiddler-title"> <div class="tw-tiddler-title">
<div class="titlebar"> <h2 class="titlebar">
<span class="tw-tiddler-controls"> <span class="tw-tiddler-controls">
<$list filter="[all[shadows+tiddlers]tag[$:/tags/ViewToolbar]!has[draft.of]]" variable="listItem"><$transclude tiddler=<<listItem>>/></$list> <$list filter="[all[shadows+tiddlers]tag[$:/tags/ViewToolbar]!has[draft.of]]" variable="listItem"><$transclude tiddler=<<listItem>>/></$list>
</span> </span>
@ -24,7 +24,7 @@ fill:$(foregroundColor)$;
<$view field="title"/> <$view field="title"/>
</span> </span>
</$list> </$list>
</div> </h2>
<$reveal type="nomatch" text="" default="" state=<<tiddlerInfoState>> class="tw-tiddler-info tw-popup" animate="yes" retain="yes"> <$reveal type="nomatch" text="" default="" state=<<tiddlerInfoState>> class="tw-tiddler-info tw-popup" animate="yes" retain="yes">

View File

@ -1,4 +1,4 @@
title: $:/core/ui/ViewToolbar/close title: $:/core/ui/ViewToolbar/close
tags: $:/tags/ViewToolbar tags: $:/tags/ViewToolbar
<$button message="tw-close-tiddler" class="btn-invisible">{{$:/core/images/close-button}}</$button> <$button message="tw-close-tiddler" title={{$:/language/Buttons/Close/Hint}} aria-label={{$:/language/Buttons/Close/Caption}} class="btn-invisible">{{$:/core/images/close-button}}</$button>

View File

@ -1,4 +1,4 @@
title: $:/core/ui/ViewToolbar/edit title: $:/core/ui/ViewToolbar/edit
tags: $:/tags/ViewToolbar tags: $:/tags/ViewToolbar
<$button message="tw-edit-tiddler" class="btn-invisible">{{$:/core/images/edit-button}}</$button> <$button message="tw-edit-tiddler" title={{$:/language/Buttons/Edit/Hint}} aria-label={{$:/language/Buttons/Edit/Caption}} class="btn-invisible">{{$:/core/images/edit-button}}</$button>

View File

@ -1,4 +1,4 @@
title: $:/core/ui/ViewToolbar/info title: $:/core/ui/ViewToolbar/info
tags: $:/tags/ViewToolbar tags: $:/tags/ViewToolbar
<$button popup=<<tiddlerInfoState>> class="btn-invisible" selectedClass="tw-selected">{{$:/core/images/info-button}}</$button> <$button popup=<<tiddlerInfoState>> title={{$:/language/Buttons/Info/Hint}} aria-label={{$:/language/Buttons/Info/Caption}} class="btn-invisible" selectedClass="tw-selected">{{$:/core/images/info-button}}</$button>

View File

@ -2,7 +2,7 @@ title: $:/core/macros/lingo
tags: $:/tags/Macro tags: $:/tags/Macro
\define lingo-base() \define lingo-base()
$:/lingo/ $:/language/
\end \end
\define lingo(title) \define lingo(title)

View File

@ -1,6 +1,6 @@
title: ButtonWidget title: ButtonWidget
created: 201310241419 created: 201310241419
modified: 201403150837 modified: 201406170837
tags: widget tags: widget
! Introduction ! Introduction
@ -23,6 +23,8 @@ The content of the `<$button>` widget is displayed within the button.
|set |A TextReference to which a new value will be assigned | |set |A TextReference to which a new value will be assigned |
|setTo |The new value to assign to the TextReference identified in the `set` attribute | |setTo |The new value to assign to the TextReference identified in the `set` attribute |
|popup |Title of a state tiddler for a popup that is toggled when the button is clicked | |popup |Title of a state tiddler for a popup that is toggled when the button is clicked |
|aria-label |Optional [[Accessibility]] label |
|title |Optional tooltip |
|class |An optional CSS class name to be assigned to the HTML element | |class |An optional CSS class name to be assigned to the HTML element |
|style |An optional CSS style attribute to be assigned to the HTML element | |style |An optional CSS style attribute to be assigned to the HTML element |
|selectedClass |An optional additional CSS class to be assigned if the popup is triggered or the tiddler specified in `set` already has the value specified in `setTo` | |selectedClass |An optional additional CSS class to be assigned if the popup is triggered or the tiddler specified in `set` already has the value specified in `setTo` |

View File

@ -1,4 +1,6 @@
title: LinkWidget title: LinkWidget
created: 201310241419
modified: 201406170837
tags: widget tags: widget
The `link` widget generates links to tiddlers. The `link` widget generates links to tiddlers.
@ -7,6 +9,7 @@ The `link` widget generates links to tiddlers.
|!Attribute |!Description | |!Attribute |!Description |
|to |The title of the target tiddler for the link (defaults to the [[WidgetVariable: currentTiddler]]) | |to |The title of the target tiddler for the link (defaults to the [[WidgetVariable: currentTiddler]]) |
|aria-label |Optional [[Accessibility]] label |
|tooltip |Optional tooltip WikiText | |tooltip |Optional tooltip WikiText |
The content of the link widget is rendered within the `<a>` tag. The content of the link widget is rendered within the `<a>` tag.

View File

@ -570,6 +570,7 @@ a.tw-tiddlylink-external:hover {
font-size: 2.35em; font-size: 2.35em;
line-height: 1.2em; line-height: 1.2em;
color: <<colour tiddler-title-foreground>>; color: <<colour tiddler-title-foreground>>;
margin: 0;
} }
.tw-system-title-prefix { .tw-system-title-prefix {