Description

  1. Comments in Moin1.6 are only marked by a div-wrapper causing the comment to be displayed in some nicely colored box. Alas with this solution there is no way for people using screenreaders to recognize when a comment starts and when a comment ends since the difference is only optically marked by colors.
  2. But this is not only a topic for visually impaired people. Normal users are also confronted with this when css is disabled. There again is no way now to tell where a comment starts and where a comment ends.

Steps to reproduce

  1. do this...

Example

Component selection

  • general

Details

MoinMoin Version

OS and Version

Python Version

Server Setup

Server Details

Language you are using the wiki in (set in the browser/UserPreferences)

Workaround

Discussion

This could easily be solved by some extra text injected at the beginning and the end of the comment, which is not displayed on the screen but read by screenreaders and displayed when CSS is disabled.

Here is a patch of parser/moin_text_wiki.py for Moin (moin-1-6-main-4cfb61592fe4):

 1 --- text_moin_wiki_old.py	2007年02月28日 16:19:38.000000000 +0100
 2 +++ text_moin_wiki.py	2007年03月01日 19:23:54.000000000 +0100
 3 @@ -931,6 +931,7 @@
 4  strings, outputting verbatim any intervening text.
 5  """
 6  self.formatter = formatter
 7 + _ = self._
 8  self.hilite_re = self.formatter.page.hilite_re
 9  
 10  # prepare regex patterns
 11 @@ -965,7 +966,11 @@
 12  if 'comment' in self.wrapping_div_class.split():
 13  # show comment divs depending on user profile (and wiki configuration)
 14  div_kw['style'] = self.request.user.show_comments and "display:''" or "display:none"
 15 - self.request.write(self.formatter.div(1, **div_kw))
 16 + self.request.write(self.formatter.div(1, **div_kw))
 17 + div_kw = {'css_class': 'screenreader_info', }
 18 + self.request.write(self.formatter.text(_('[comment section begin]'), **div_kw))
 19 + else:
 20 + self.request.write(self.formatter.div(1, **div_kw))
 21  
 22  # Main loop
 23  for line in self.lines:
 24 @@ -1122,6 +1127,9 @@
 25  if self.in_table: self.request.write(self.formatter.table(0))
 26  
 27  if self.wrapping_div_class:
 28 + if 'comment' in self.wrapping_div_class.split():
 29 + div_kw = {'css_class': 'screenreader_info', }
 30 + self.request.write(self.formatter.text(_('[comment section end]'), **div_kw))
 31  self.request.write(self.formatter.div(0))
 32  
 33  # Private helpers ------------------------------------------------------------

text_moin_wiki.diff

To get this correctly work please add following CSS class to the theme's screen.css:

/* Visually hidden information for screenreaders,
i.e. is read but not displayed */
.screenreader_info {
 position: absolute;
 top: -10000px;
 left: -10000px;
}

Add display:none for this class in projection.css and print.css???

-- OliverSiemoneit 2007年03月01日 18:49:30

Please check the rest of what's unclear and submit a complete patch. Is screenreader_info some standardized way or just used by a single or few programs? -- ThomasWaldmann 2007年05月05日 19:44:47

  • Naming of the css class is up to each programm, but the basic solution to move text out of the visible area with position absolute and large negative values for left, top is state-of-the-art and widely used on accessible sites. The new css class "screenreader_info" could also be reused for other purposes, see improved patch for MoinMoinBugs/AltAndTitleTextsDoNotDisplayCorrectlyInTwikiDrawPlugin or the accessible diff on AccessibleMoin -- OliverSiemoneit 2007年05月05日 20:28:09

    Here's an updated patch for Moin1.6 changeset 2041 (5932b2b3bbeb): text_moin_wiki2.diff.

    • Themes' screen.css needs: {{{.screenreader_info {
      • position: absolute; top: -10000px; left: -10000px;

} }}}

  • print.css and projection.css needs {{{ .screenreader_info { display: none }

}}}

  • Sorry, no unified diff since I still have some trouble with hg.. -- OliverSiemoneit 2007年05月05日 21:34:20

Plan

  • Priority:
  • Assigned to:
  • Status:


CategoryMoinMoinBug

MoinMoin: MoinMoinBugs/1.6devCommentSectionsNotAccessibleByScreenreaderOrWithCssDisabled (last edited 2007年10月29日 19:08:38 by localhost)

AltStyle によって変換されたページ (->オリジナル) /