Wikipedia:WikiProject Accessibility/Datetime Metadata

To add time metadata to Wikipedia
After a discussion on at Template talk:Date it became apparent that changing the date template to make it emit accessability metadata is impossible.

Instead, new templates will need to be create to achieve this goal.

The main goal of the templates is to emit the invisible invisible  html block around dates and times, which is used to communicate the date to accessibility software like screen readers or software for the visually impaired. The time block appears in the format  where 'aaaaaa' is an ISO 8601 date between -275000 and +275000 in astrological time, while 'dddddd' is the date displayed to the user in the calendar and display format of the editors' choosing.

Chrome-based web browsers have the ability to localize the date in time blocks to the user's specified language or display preference. Users of these browsers can set their date display preference in the browser's language settings.

Additionally, The time block would allow search engines to parse dates with better precision, allowing them to better suggest Wikipedia articles.

The secondary objective of these templates is performance. If we want to add these templates to articles with hundreds of dates, the performance impact on Wikipedia's servers must be negligable.

Basic Plan
The current plan is to add two new templates: template:Metayear and template:Metadate, both of which will call Lua code from the newly defined Module:Time_metadata. Both of these templates add &lt;time&gt; blocks around human written dates. Neither of these templates have any effect on the way the page displays to the user.

Metadate adds time metadata to any Manual of Style-compilant date or date range.

Metayear only supports Manual of Style-compliant years. It supports astrological years as well as years with any of the following abbreviations: BC/AD/BCE/CE/YBP/BP. It exists mainly for performance reasons on articles like 19th century, which contain hundreds of years. Metayear can parse thousands of years in under a second of compute time.

Julian and Gregorian calendar issues
We will have to decide how the templates determine whether a display date is Julian or Gregorian. Editors will be able to explicitly specify the used calendar, or supply the astrological date directly to be used in the time block. The current rough draft implementation of Metayear erroneously assumes everything is in Gregorian time.