Accessibilité

Comme je discutais avec Stéphane, selon ce que je peux Googler, le défi principal qu'un développeur rencontre en produisant des sites Web avec Sharepoint est l'accessibilité (et par extension le respect des normes HTML/XHTML/W3C). Par exemple, plusieurs éléments par défaut génèrent des éléments "table" pour la mise en page dont les Web Parts.

Les standards grouvernementaux en matière d'accessibilité des applications Web
De plus, voici l'ébauche des normes gouvernementales du Québec (pas encore approuvé et encore moins en vigueur, mais ca donne une idée de ce qui nous attend dans les prochaines années) (référence SGQRI 008-01 http://www.msg.gouv.qc.ca/gel/standards.html) :

http://www.msg.gouv.qc.ca/fr/publications/enligne/administration/standards/access_web_vct.pdf

Ca ne semble pas trop agressif; par exemple l'utilisation des tables pour fins de présentation n'est pas totalement interdite. Par contre l'utilisation de la plupart des tags HTML est encadrée, la sémantique doit être respectée et des indices aux "screen readers" doivent être omni-présents. Les normes W3C HTML 4.01 et XHTML 1.0 doivent aussi être respectées.

Ressources
On va donc avoir besoin de ressources sur l'accessibilité dans Sharepoint :

Accessibility Kit for Sharepoint
Un Accessibility kit qui a l'air très utilisé !!! La v2 vient de sortir en plus. Ca semble être qqch qu'on installe directement dans Sharepoint et ca fait un peu de magie. https://aks.hisoftware.com/default.aspx Le kit semble contenir plusieurs éléments intéressants dont : des templates de base "accessibles" (master pages, css, page layouts, etc) ainsi que des ControlAdapters (un ControlAdapter est une classe qui ne sert qu'à changer le rendering HTML d'un contrôle ASP.NET, par exemple les WebParts)

Best practices
http://blog.mastykarz.nl/best-practices-for-developing-accessible-web-sites-in-microsoft-office-sharepoint-server-2007/

Contrôles ASP.NET
La liste des contrôles ASP.NET vs contraintes d'accessibilité : http://msdn.microsoft.com/en-us/library/ms227996(VS.80).aspx