# HG changeset patch # User Paul Boddie # Date 1371504355 -7200 # Node ID b8a65ee210d2eed54f1a9184b9546be4e00622ff # Parent 09c4f5b164f31334a4715eeebd46115f01fac318 Fixed anchors in links; added support for focus-based navigation to map labels and the opening of event details from such labels using links and link targets. diff -r 09c4f5b164f3 -r b8a65ee210d2 EventAggregatorSupport/View.py --- a/EventAggregatorSupport/View.py Mon Jun 17 18:07:52 2013 +0200 +++ b/EventAggregatorSupport/View.py Mon Jun 17 23:25:55 2013 +0200 @@ -457,7 +457,7 @@ download_target = "%s-download" % self.getIdentifier() append(fmt.span(on=1, css_class="event-download", id=download_target)) - append(linkToPage(request, page, _("Download..."), "#%s" % download_target)) + append(linkToPage(request, page, _("Download..."), anchor=download_target)) append(fmt.div(on=1, css_class="event-download-popup")) append(fmt.div(on=1, css_class="event-download-item")) @@ -505,7 +505,7 @@ append(fmt.div(on=1, css_class="event-download-item")) append(fmt.span(on=1, css_class="event-download-link")) - append(linkToPage(request, page, _("Cancel"), "#%s" % controls_target)) + append(linkToPage(request, page, _("Cancel"), anchor=controls_target)) append(fmt.span(on=0)) # end label append(fmt.div(on=0)) @@ -517,7 +517,7 @@ subscribe_target = "%s-subscribe" % self.getIdentifier() append(fmt.span(on=1, css_class="event-download", id=subscribe_target)) - append(linkToPage(request, page, _("Subscribe..."), "#%s" % subscribe_target)) + append(linkToPage(request, page, _("Subscribe..."), anchor=subscribe_target)) append(fmt.div(on=1, css_class="event-download-popup")) append(fmt.div(on=1, css_class="event-download-item")) @@ -549,7 +549,7 @@ append(fmt.div(on=1, css_class="event-download-item")) append(fmt.span(on=1, css_class="event-download-link")) - append(linkToPage(request, page, _("Cancel"), "#%s" % controls_target)) + append(linkToPage(request, page, _("Cancel"), anchor=controls_target)) append(fmt.span(on=0)) # end label append(fmt.div(on=0)) @@ -862,7 +862,7 @@ # Link the number to the day view. append(fmt.span(on=1, css_class="event-day-number")) - append(linkToPage(request, page, unicode(day), "#%s" % day_target, title=_("View day options"))) + append(linkToPage(request, page, unicode(day), anchor=day_target, title=_("View day options"))) append(fmt.span(on=0)) append(fmt.div(on=0)) @@ -1560,9 +1560,20 @@ # Have a marker containing a pop-up when using the screen mode, # providing a normal block when using the print mode. - append(fmt.div(on=1, css_class="event-map-label", + location_text = to_plain_text(location, request) + label_target = "%s-maplabel-%s" % (self.getIdentifier(), location_text) + + append(fmt.div(on=1, css_class="event-map-label", id=label_target, style="left:%dpx; top:%dpx; min-width:%dpx; min-height:%dpx") % ( marker_x, marker_y, map_x_scale, map_y_scale)) + + label_target_url = page.url(request, anchor=label_target, relative=True) + append(fmt.url(1, label_target_url, "event-map-label-link")) + append(fmt.span(1)) + append(fmt.text(location_text)) + append(fmt.span(0)) + append(fmt.url(0)) + append(fmt.div(on=1, css_class="event-map-details")) append(fmt.div(on=1, css_class="event-map-shadow")) append(fmt.div(on=1, css_class="event-map-location")) @@ -1571,7 +1582,7 @@ # be usable in a heading, so it must be first converted to plain text. append(fmt.heading(on=1, depth=2)) - append(fmt.text(to_plain_text(location, request))) + append(fmt.text(location_text)) append(fmt.heading(on=0, depth=2)) append(self.writeMapEventSummaries(events)) diff -r 09c4f5b164f3 -r b8a65ee210d2 README.txt --- a/README.txt Mon Jun 17 18:07:52 2013 +0200 +++ b/README.txt Mon Jun 17 23:25:55 2013 +0200 @@ -360,8 +360,8 @@ * Fixed iCalendar event writing. * Added an iCalendar parser. * Accessibility improvements: introduced table captions for the display of - table headings; added link titles; made pop-up labels links to default - functionality. + table headings; added link titles; supported the opening of pop-up menus + and map labels using links and link targets. New in EventAggregator 0.10.1 (Changes since EventAggregator 0.10) ------------------------------------------------------------------ diff -r 09c4f5b164f3 -r b8a65ee210d2 css/event-aggregator.css --- a/css/event-aggregator.css Mon Jun 17 18:07:52 2013 +0200 +++ b/css/event-aggregator.css Mon Jun 17 23:25:55 2013 +0200 @@ -543,6 +543,16 @@ display: none; } +a.event-map-label-link span { + display: none; +} + +a.event-map-label-link:focus span { + display: inline-block; + background-color: #fff; + padding: 0.25em; +} + div.event-map-label { position: absolute; /* position and dimensions specified in the HTML */ @@ -558,7 +568,8 @@ min-width: 10em; } -div.event-map-label:hover .event-map-details { +div.event-map-label:hover .event-map-details, +div.event-map-label:target .event-map-details { display: block; }