Microsoft BizTalk Server , SOA, Oslo
Welcome to MSDN Blogs Sign in | Join | Help

compartirypunto

Blog sobre Microsoft BizTalk Server , SOA, Oslo y tecnologias relacionadas.
Accesibilidad en MOSS, AKS, Cumplimiento AA

Hola como estas, con la ayuda de un par de compañeros, te pongo un post que resume la información relativa a como hacer nuestros sites de SharePoint accesibles cumpliendo la normativa A, AA, o incluso AAA.

 

Independientemente de que sea mas o meno complejo segun tu experiencia anterior en MOSS. 

MOSS es accesible. Para cumplir los estándares del W3C, existen aceleradores (AKS, CLF) que ayudan a obtener dichas certificaciones de accesibilidad.

La recomendación contemplaría:

-        Utilizar AKS, junto a la página maestra mínima de publicación

-        Evitar zonas de elementos web

-        Disponer de maquetas (Diseño+HTML) que validen las certificaciones exigidas

-        Probar de forma cíclica los desarrollos para cumplir la certificación.

 

Apuntar que desde el punto de vista de accesibilidad, siempre será necesario un trabajo de desarrollo para cumplir requisitos concretos de una solución personalizada.

Si el equipo de trabajo está familiarizado con las guías de accesibilidad y los toolkits, el ramp-up será prácticamente nulo. De ahí la recomendación de incluir a un perfil especialista en accesibilidad.

 

No existe ninguna solución, que instalada directamente proporcione compatibilidad AA, siendo los kits y guías presentados, una ayuda para cumplir dichos requerimientos de accesibilidad.

Se recomienda la inclusión desde la etapa de diseño de la solución y durante el ciclo de vida de la misma de perfiles con experiencia en accesibilidad; principalmente durante el diseño y desarrollo de los elementos de presentación (Master Page, Page Layouts, hojas de estilos, presentación personalizada de controles, etc..). Sería aconsejable que el equipo de desarrollo conociera las guías y herramientas para validar la solución.

 

Para reducir el nivel de esfuerzo necesario en estos escenarios, se recomienda:

-        Estar familiarizado con las guías y herramientas indicadas en la documentación

-        Uso de las plantillas y páginas maestras de AKS 1.1 junto a la página maestra mínima de publicación.

o   Despliegue de adaptadores para los elementos web empleados en la solución.

o   Estudio de los kits de accesibilidad, y análisis de impacto de la versión AKS 2.0:

§  Su  objetivo ( http://blogs.msdn.com/sharepoint/archive/2008/03/12/announcing-accessibility-kit-for-sharepoint-1-1-and-future-roadmap.aspx ) es cumplir  WCAG 2.0 Level AA.

-        Evitar el uso de zonas de elementos web y uso de elementos web con renderización a través de plantillas de transformación (XSLT). Por ejemplo elemento web de consulta de contenido (Content Query WebPart)

-        Inclusión de los atributos en los elementos web de Chrome: None; SuppressWebPartChrome: true.

-        Uso de adaptadores de controles para los controles de serie del producto:

o   Menú

o   Vista en árbol

o   Etc..

Modificar adicionalmente los adaptadores de controles para eliminar ciertas etiquetas.

-        Uso de controles y kits proporcionados en codeplex para añadir funcionalidad a MOSS (visor de fotos, newsletter, etc).

o   Modificar adicionalmente adaptadores de controles para eliminar ciertas etiquetas.

o   Incluir información complementaria que les permita ser accesible.

 

En las referencias tenéis una guía de la creación paso a paso de lo que sería un sitio accesible en sharepoint (punto 6).

 

Recursos

 

Referencias,

1.      http://blog.mastykarz.nl/2008/05/15/slightly-more-accessible-web-parts/

2.      http://blog.thekid.me.uk/archive/2007/05/08/getting-sharepoint-to-produce-the-html-you-want.aspx

3.      http://planetmoss.blogspot.com/2007/09/sharepoint-accessibility.html

4.      http://blogs.msdn.com/sharepoint/archive/2006/04/24/improvements-in-accessibility.aspx

5.      http://blog.thekid.me.uk/archive/2007/05/08/getting-sharepoint-to-produce-the-html-you-want.aspx

6.      http://blog.thekid.me.uk/archive/2007/05/01/another-day-another-accessible-moss-website.aspx

 

Whitepapers,

-        Guidelines to design and develop accessible web sites, http://www.microsoft.com/downloadS/details.aspx?FamilyID=35487ef8-8e92-4f3b-96bf-2dfd7f4602d2&displaylang=en

-        Plan for building multilingual solutions, http://technet.microsoft.com/en-us/library/cc262942.aspx

Código reutilizable,

-        Accesibilidad

o   Accessibility Kit for SharePoint, http://www.codeplex.com/aks

o   RadEditor, http://www.telerik.com/products/sharepoint/overview.aspx

§  Idealmente desplegar aRTE de HiSoftware

o   CSS Friendly Adapter, http://www.codeplex.com/cssfriendly

o   Goverment of Canada CLF 2.0 SharePoint 2007 Accessibility Toolkit, http://www.codeplex.com/CLF20

-        Genérico proyecto

o   Community Kit for SharePoint, http://www.codeplex.com/cks

o   Search community Toolkit, http://www.codeplex.com/sct

o   News WorkBench, http://blogs.msdn.com/ecm/archive/2008/05/09/building-a-news-workbench-on-moss-2007-part-5.aspx

 

Documentos,

-        Accessibility Kit for SharePoint: Building Accessible Websites on MOSS 2007, http://sharepoint.microsoft.com/sharepoint/SPC20081/SPC2008%20-%20Accessibility%20Kit%20for%20SharePoint%20-%20Building%20Accessible%20Websites%20on%20MOSS%202007.pptx

 

Espero que te sirva todo esto para sacar adelante tus sites de sharepoint que necesiten cumplir la normativa de accesibilidad.

Posted: Saturday, June 14, 2008 4:44 PM by Pedro Pablo Malagon Amor

Comments

carlos said:

En ocasiones los requisitos permiten emplear los webpartzones, si la experiencia en edición es distinta a  la de visualización. Esto siempre que el diseño lo tenga en cuenta.

Como ejemplo de:

http://markharrison.co.uk/blog/2008/03/aks-v2-accessibility-kit-for-sharepoint.htm

Este adaptador sustituye en modo lectura las zonas de elementos web para que sean accesibles. Dado que en modo edición sí se generarán tablas, el diseño (desde el punto de vista de estilos) tiene que contemplarlo para no modificar su presentación si las tablas se sustituyen por contenedores.

Instalación

Copiar el código C# y grabarlo como AKS_WebPartZone_Adapter.cs Colocarlo en el directorio AppCode (normalmente en  C:\Inetpub\wwwroot o C:\Inetpub\wwwroot\wss\VirtualDirectories\80).

using System;

using System.Data;

using System.Configuration;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Web.UI.HtmlControls;

using System.Text;

using System.IO;

using Microsoft.SharePoint;

using Microsoft.SharePoint.WebPartPages;

///

/// WebPartZone Adapter

///

/// Created by David Schneider

/// http://blog.sharepoint.ch

///

/// Based on AKS

///

namespace AKSAdapters

{

public class AKS_WebPartZone_Adapter : System.Web.UI.Adapters.ControlAdapter

{

protected override void Render(HtmlTextWriter writer)

{

bool inEditMode = false;

System.Web.UI.WebControls.WebParts.WebPartZone wpz = Control as System.Web.UI.WebControls.WebParts.WebPartZone;

if (wpz != null)

{

SPWebPartManager swpm = (SPWebPartManager)SPWebPartManager.GetCurrentWebPartManager(wpz.Page);

inEditMode = !swpm.GetDisplayMode().AllowPageDesign;

}

if (inEditMode)

{

// Render the WebPartZone

writer.Indent++;

writer.AddAttribute(HtmlTextWriterAttribute.Id, wpz.ID);

if (!String.IsNullOrEmpty(wpz.CssClass))

{

writer.AddAttribute(HtmlTextWriterAttribute.Class, wpz.CssClass);

}

if (wpz.LayoutOrientation == System.Web.UI.WebControls.Orientation.Horizontal)

{

writer.AddAttribute(HtmlTextWriterAttribute.Class, "AspNet-WebPartZone-Horizontal");

}

else if (wpz.LayoutOrientation == System.Web.UI.WebControls.Orientation.Vertical)

{

writer.AddAttribute(HtmlTextWriterAttribute.Class, "AspNet-WebPartZone-Vertical");

}

writer.RenderBeginTag(HtmlTextWriterTag.Div);

writer.Indent++;

// Render the web parts

if (wpz.WebParts.Count > 0)

{

WebPartCollection wpColl = new WebPartCollection(wpz.WebParts);

foreach (System.Web.UI.WebControls.WebParts.WebPart wp in wpColl)

{

writer.WriteLine();

writer.AddAttribute(HtmlTextWriterAttribute.Class, "AspNet-WebPart");

writer.RenderBeginTag(HtmlTextWriterTag.Div);

wp.RenderControl(writer);

writer.RenderEndTag(); // Div

writer.Indent++;

}

}

writer.RenderEndTag(); // Div

writer.Indent--;

writer.WriteLine();

}

else

{

// If we are editing the page --> render the web part as usual.

base.Render(writer);

}

}

}

}

Editar el fichero compat.browser situado en el directorio AppBrowser de la ruta anteriormente indicada y añadir el código siguiente (el nodo controlAdapters)

<browser refID="Default">

<controlAdapters>

<adapter controlType="System.Web.UI.WebControls.WebParts.WebPartZone"

adapterType="AKSAdapters.AKS_WebPartZone_Adapter" />

</controlAdapters>

</browser>

# June 19, 2008 9:30 AM
Leave a Comment

(required) 

(required) 

(optional)

(required) 

  
Enter Code Here: Required

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS

Page view tracker