Index: plugins/aboutConfig/index.php
===================================================================
--- plugins/aboutConfig/index.php	(revision 220)
+++ plugins/aboutConfig/index.php	(revision 457)
@@ -77,5 +77,5 @@
 	'<tr>'.
 	'<td><label for="s_'.$id.'">'.sprintf($slabel,html::escapeHTML($id)).'</label></td>'.
-	'<td>'.$field.'</td>'.
+	'<th scope="row">'.$field.'</th>'.
 	'<td>'.$s['type'].'</td>'.
 	'<td>'.html::escapeHTML($s['label']).'</td>'.
@@ -107,10 +107,14 @@
 <form action="plugin.php" method="post">
 <table>
+<caption><?php echo __('Local blog settings list'); ?></caption>
+<thead>
 <tr>
-  <th class="nowrap">Setting ID</th>
-  <th><?php echo __('Value'); ?></th>
-  <th><?php echo __('Type'); ?></th>
-  <th class="maximal"><?php echo __('Description'); ?></th>
+  <th scope="col" class="nowrap">Setting ID</th>
+  <th scope="col"><?php echo __('Value'); ?></th>
+  <th scope="col"><?php echo __('Type'); ?></th>
+  <th scope="col" class="maximal"><?php echo __('Description'); ?></th>
 </tr>
+</thead>
+<tbody>
 <?php
 $settings = array();
@@ -127,5 +131,5 @@
 {
 	ksort($s);
-	echo '<tr><td colspan="4" class="ns-name">namespace: <strong>'.$ns.'</strong></td></tr>';
+	echo '<tr><th scope="row" colspan="4" class="ns-name">namespace: <strong>'.$ns.'</strong></th></tr>';
 	
 	foreach ($s as $k => $v)
@@ -135,4 +139,5 @@
 }
 ?>
+</tbody>
 </table>
 <p><input type="submit" value="<?php echo __('Save'); ?>" />
@@ -145,10 +150,14 @@
 <form action="plugin.php" method="post">
 <table>
+<caption><?php echo __('Global blog settings list'); ?></caption>
+<thead>
 <tr>
-  <th class="nowrap">Setting ID</th>
-  <th><?php echo __('Value'); ?></th>
-  <th><?php echo __('Type'); ?></th>
-  <th class="maximal"><?php echo __('Description'); ?></th>
+  <th scope="col" class="nowrap">Setting ID</th>
+  <th scope="col"><?php echo __('Value'); ?></th>
+  <th scope="col"><?php echo __('Type'); ?></th>
+  <th scope="col" class="maximal"><?php echo __('Description'); ?></th>
 </tr>
+</thead>
+<tbody>
 <?php
 $settings = array();
@@ -165,5 +174,5 @@
 {
 	ksort($s);
-	echo '<tr><td colspan="4" class="ns-name">namespace: <strong>'.$ns.'</strong></td></tr>';
+	echo '<tr><th scope="row" colspan="4" class="ns-name">namespace: <strong>'.$ns.'</strong></th></tr>';
 	
 	foreach ($s as $k => $v)
@@ -173,4 +182,5 @@
 }
 ?>
+</tbody>
 </table>
 <p><input type="submit" value="<?php echo __('Save'); ?>" />
Index: plugins/antispam/index.php
===================================================================
--- plugins/antispam/index.php	(revision 223)
+++ plugins/antispam/index.php	(revision 457)
@@ -166,10 +166,11 @@
 	echo
 	'<table class="dragable">'.
+	'<caption>'.__('Antispan filters list').'</caption>'.
 	'<thead><tr>'.
-	'<th>'.__('Order').'</th>'.
-	'<th>'.__('Active').'</th>'.
-	'<th>'.__('Auto Del.').'</th>'.
-	'<th class="nowrap">'.__('Filter name').'</th>'.
-	'<th colspan="2">'.__('Description').'</th>'.
+	'<th scope="col">'.__('Order').'</th>'.
+	'<th scope="col">'.__('Active').'</th>'.
+	'<th scope="col">'.__('Auto Del.').'</th>'.
+	'<th scope="col" class="nowrap">'.__('Filter name').'</th>'.
+	'<th scope="col" colspan="2">'.__('Description').'</th>'.
 	'</tr></thead>'.
 	'<tbody id="filters-list" >';
@@ -191,5 +192,5 @@
 		'<td class="nowrap">'.form::checkbox(array('filters_active[]'),$fid,$f->active, '', '', false, 'title="'.__('Active').'"').'</td>'.
 		'<td class="nowrap">'.form::checkbox(array('filters_auto_del[]'),$fid,$f->auto_delete, '', '', false, 'title="'.__('Auto Del.').'"').'</td>'.
-		'<td class="nowrap">'.$f->name.'</td>'.
+		'<th scope="row" class="nowrap">'.$f->name.'</th>'.
 		'<td class="maximal">'.$f->description.'</td>'.
 		'<td class="status">'.$gui_link.'</td>'.
Index: plugins/blogroll/index.php
===================================================================
--- plugins/blogroll/index.php	(revision 218)
+++ plugins/blogroll/index.php	(revision 457)
@@ -242,10 +242,11 @@
 <form action="plugin.php" method="post" id="links-form">
 <table class="maximal dragable">
+<caption><?php echo __('Links list'); ?></caption>
 <thead>
 <tr>
-  <th colspan="3"><?php echo __('Title'); ?></th>
-  <th><?php echo __('Description'); ?></th>
-  <th><?php echo __('URL'); ?></th>
-  <th><?php echo __('Lang'); ?></th>
+  <th scope="col" colspan="3"><?php echo __('Title'); ?></th>
+  <th scope="col"><?php echo __('Description'); ?></th>
+  <th scope="col"><?php echo __('URL'); ?></th>
+  <th scope="col"><?php echo __('Lang'); ?></th>
 </tr>
 </thead>
@@ -265,12 +266,12 @@
 	{
 		echo
-		'<td colspan="5"><strong><a href="'.$p_url.'&amp;edit=1&amp;id='.$rs->link_id.'">'.
-		html::escapeHTML($rs->link_desc).'</a></strong></td>';
+		'<th scope="row" colspan="5"><strong><a href="'.$p_url.'&amp;edit=1&amp;id='.$rs->link_id.'">'.
+		html::escapeHTML($rs->link_desc).'</a></strong></th>';
 	}
 	else
 	{
 		echo
-		'<td><a href="'.$p_url.'&amp;edit=1&amp;id='.$rs->link_id.'">'.
-		html::escapeHTML($rs->link_title).'</a></td>'.
+		'<th scope="row"><a href="'.$p_url.'&amp;edit=1&amp;id='.$rs->link_id.'">'.
+		html::escapeHTML($rs->link_title).'</a></th>'.
 		'<td>'.html::escapeHTML($rs->link_desc).'</td>'.
 		'<td>'.html::escapeHTML($rs->link_href).'</td>'.
Index: plugins/pages/list.php
===================================================================
--- plugins/pages/list.php	(revision 198)
+++ plugins/pages/list.php	(revision 457)
@@ -15,102 +15,19 @@
 /* Pager class
 -------------------------------------------------------- */
-class adminPageList extends adminGenericList
+class adminPageList extends adminPostList
 {
-	public function display($page,$nb_per_page,$enclose_block='')
+	public function setColumns()
 	{
-		if ($this->rs->isEmpty())
-		{
-			echo '<p><strong>'.__('No page').'</strong></p>';
-		}
-		else
-		{
-			$pager = new pager($page,$this->rs_count,$nb_per_page,10);
-			$pager->html_prev = $this->html_prev;
-			$pager->html_next = $this->html_next;
-			$pager->var_page = 'page';
-			
-			$html_block =
-			'<table class="clear"><tr>'.
-			'<th colspan="2">'.__('Title').'</th>'.
-			'<th>'.__('Date').'</th>'.
-			'<th>'.__('Author').'</th>'.
-			'<th>'.__('Comments').'</th>'.
-			'<th>'.__('Trackbacks').'</th>'.
-			'<th>'.__('Status').'</th>'.
-			'</tr>%s</table>';
-			
-			if ($enclose_block) {
-				$html_block = sprintf($enclose_block,$html_block);
-			}
-			
-			echo '<p>'.__('Page(s)').' : '.$pager->getLinks().'</p>';
-			
-			$blocks = explode('%s',$html_block);
-			
-			echo $blocks[0];
-			
-			while ($this->rs->fetch())
-			{
-				echo $this->postLine();
-			}
-			
-			echo $blocks[1];
-			
-			echo '<p>'.__('Page(s)').' : '.$pager->getLinks().'</p>';
-		}
+		$this->addColumn('title',__('Title'),array('adminPostList','getTitle'),' class="maximal"',false);
+		$this->addColumn('date',__('Date'),array('adminPostList','getDate'));
+		$this->addColumn('author',__('Author'),array('adminPostList','getAuthor'));
+		$this->addColumn('comment',__('Comments'),array('adminPostList','getComments'));
+		$this->addColumn('trackback',__('Trackbacks'),array('adminPostList','getTrackbacks'));
+		$this->addColumn('status',__('Status'),array('adminPostList','getStatus'));
 	}
 	
-	private function postLine()
+	protected function getDefaultCaption()
 	{
-		$img = '<img alt="%1$s" title="%1$s" src="images/%2$s" />';
-		switch ($this->rs->post_status) {
-			case 1:
-				$img_status = sprintf($img,__('published'),'check-on.png');
-				break;
-			case 0:
-				$img_status = sprintf($img,__('unpublished'),'check-off.png');
-				break;
-			case -1:
-				$img_status = sprintf($img,__('scheduled'),'scheduled.png');
-				break;
-			case -2:
-				$img_status = sprintf($img,__('pending'),'check-wrn.png');
-				break;
-		}
-		
-		$protected = '';
-		if ($this->rs->post_password) {
-			$protected = sprintf($img,__('protected'),'locker.png');
-		}
-		
-		$selected = '';
-		if ($this->rs->post_selected) {
-			$selected = sprintf($img,__('selected'),'selected.png');
-		}
-		
-		$attach = '';
-		$nb_media = $this->rs->countMedia();
-		if ($nb_media > 0) {
-			$attach_str = $nb_media == 1 ? __('%d attachment') : __('%d attachments');
-			$attach = sprintf($img,sprintf($attach_str,$nb_media),'attach.png');
-		}
-		
-		$res = '<tr class="line'.($this->rs->post_status != 1 ? ' offline' : '').'"'.
-		' id="p'.$this->rs->post_id.'">';
-		
-		$res .=
-		'<td class="nowrap">'.
-		form::checkbox(array('entries[]'),$this->rs->post_id,'','','',!$this->rs->isEditable(),'title="'.__('select this page').'"').'</td>'.
-		'<td class="maximal"><a href="'.$this->core->getPostAdminURL($this->rs->post_type,$this->rs->post_id).'">'.
-		html::escapeHTML($this->rs->post_title).'</a></td>'.
-		'<td class="nowrap">'.dt::dt2str(__('%Y-%m-%d %H:%M'),$this->rs->post_dt).'</td>'.
-		
-		'<td class="nowrap">'.$this->rs->user_id.'</td>'.
-		'<td class="nowrap">'.$this->rs->nb_comment.'</td>'.
-		'<td class="nowrap">'.$this->rs->nb_trackback.'</td>'.
-		'<td class="nowrap status">'.$img_status.' '.$selected.' '.$protected.' '.$attach.'</td>'.
-		'</tr>';
-		
-		return $res;
+		return __('Pages list');
 	}
 }
Index: plugins/tags/tags.php
===================================================================
--- plugins/tags/tags.php	(revision 0)
+++ plugins/tags/tags.php	(revision 457)
@@ -43,11 +43,11 @@
 			$col = 1;
 		}
-		$cols[$col] .= '<tr class="tagLetter"><td colspan="2"><span>'.$letter.'</span></td></tr>';
+		$cols[$col] .= '<tr class="tagLetter"><th scope="row" colspan="2"><span>'.$letter.'</span></th></tr>';
 	}
 	
 	$cols[$col] .=
 	'<tr class="line">'.
-		'<td class="maximal"><a href="'.$p_url.
-		'&amp;m=tag_posts&amp;tag='.rawurlencode($tags->meta_id).'">'.$tags->meta_id.'</a></td>'.
+		'<th scope="row" class="maximal"><a href="'.$p_url.
+		'&amp;m=tag_posts&amp;tag='.rawurlencode($tags->meta_id).'">'.$tags->meta_id.'</a></th>'.
 		'<td class="nowrap"><strong>'.$tags->count.'</strong> '.
 		(($tags->count==1) ? __('entry') : __('entries')).'</td>'.
@@ -57,5 +57,8 @@
 }
 
-$table = '<div class="col"><table class="tags">%s</table></div>';
+$table =
+'<div class="col"><table class="tags"><caption>'.
+__('Tags list').
+'</caption><tbody>%s</tbody></table></div>';
 
 if ($cols[0])
Index: plugins/userPref/index.php
===================================================================
--- plugins/userPref/index.php	(revision 220)
+++ plugins/userPref/index.php	(revision 457)
@@ -72,5 +72,5 @@
 	return
 	'<tr>'.
-	'<td><label for="s_'.$id.'">'.sprintf($slabel,html::escapeHTML($id)).'</label></td>'.
+	'<th scope="row"><label for="s_'.$id.'">'.sprintf($slabel,html::escapeHTML($id)).'</label></th>'.
 	'<td>'.$field.'</td>'.
 	'<td>'.$s['type'].'</td>'.
@@ -84,5 +84,5 @@
   <?php echo dcPage::jsPageTabs($part); ?>
   <style type="text/css">
-  .ns-name { background: #ccc; color: #000; padding-top: 0.3em; padding-bottom: 0.3em; font-size: 1.1em; }
+  .ws-name { background: #ccc; color: #000; padding-top: 0.3em; padding-bottom: 0.3em; font-size: 1.1em; }
   </style>
 </head>
@@ -103,10 +103,14 @@
 <form action="plugin.php" method="post">
 <table>
+<caption><?php echo __('Local user preferences list'); ?></caption>
+<thead>
 <tr>
-  <th class="nowrap">Pref ID</th>
-  <th><?php echo __('Value'); ?></th>
-  <th><?php echo __('Type'); ?></th>
-  <th class="maximal"><?php echo __('Description'); ?></th>
+  <th scope="col" class="nowrap">Pref ID</th>
+  <th scope="col"><?php echo __('Value'); ?></th>
+  <th scope="col"><?php echo __('Type'); ?></th>
+  <th scope="col" class="maximal"><?php echo __('Description'); ?></th>
 </tr>
+</thead>
+<tbody>
 <?php
 $prefs = array();
@@ -123,5 +127,5 @@
 {
 	ksort($s);
-	echo '<tr><td colspan="4" class="ws-name">workspace: <strong>'.$ws.'</strong></td></tr>';
+	echo '<tr><th scope="row" colspan="4" class="ws-name">workspace: <strong>'.$ws.'</strong></th></tr>';
 	
 	foreach ($s as $k => $v)
@@ -131,4 +135,5 @@
 }
 ?>
+</tbody>
 </table>
 <p><input type="submit" value="<?php echo __('Save'); ?>" />
@@ -141,10 +146,14 @@
 <form action="plugin.php" method="post">
 <table>
+<caption><?php echo __('Global user preferences list'); ?></caption>
+<thead>
 <tr>
-  <th class="nowrap">Pref ID</th>
-  <th><?php echo __('Value'); ?></th>
-  <th><?php echo __('Type'); ?></th>
-  <th class="maximal"><?php echo __('Description'); ?></th>
+  <th scope="col" class="nowrap">Pref ID</th>
+  <th scope="col"><?php echo __('Value'); ?></th>
+  <th scope="col"><?php echo __('Type'); ?></th>
+  <th scope="col" class="maximal"><?php echo __('Description'); ?></th>
 </tr>
+</thead>
+<tbody>
 <?php
 $prefs = array();
@@ -161,5 +170,5 @@
 {
 	ksort($s);
-	echo '<tr><td colspan="4" class="ws-name">workspace: <strong>'.$ws.'</strong></td></tr>';
+	echo '<tr><th scope="row" colspan="4" class="ws-name">workspace: <strong>'.$ws.'</strong></th></tr>';
 	
 	foreach ($s as $k => $v)
@@ -169,4 +178,5 @@
 }
 ?>
+</tbody>
 </table>
 <p><input type="submit" value="<?php echo __('Save'); ?>" />
