[Plone-IT] Plone: aderenza legge accessibilità

Paolo Betti paolo a artifex.it
Ven 20 Apr 2012 15:07:15 UTC



Il 20/04/2012 16:50, renato pontefice ha scritto:
> Ciao,
> ma questo lo hai fatto con Italianskin?
No, il portale ha un tema personalizzato.
> secondo me è veramente carino e fatto bene. Ma il contatore dove lo trovo?
Grazie :-), il codice per i widget con i contatori è in fondo al post 
http://www.artifex.it/informatica/social-button-un-po-piu-accessibili-e-con-sintassi-xhtml-valida

Il sito artifex.it, ad esempio, è un semplicissimo Plone 4 (quindi non 
XHTML 1.1 Strict ma Transitional, i widget comunque sono validi anche 
per lo Strict) in cui ho personalizzato document_view.pt tramite ZMI 
inserendo il blocco di testo subito all'inizio della macro "content-title".

Incollo tutto il template qua sotto (spero che non si perdano le 
formattazioni, al limite te lo mando via posta)
-----------------------------------------------------------
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"
       xmlns:tal="http://xml.zope.org/namespaces/tal"
       xmlns:metal="http://xml.zope.org/namespaces/metal"
       xmlns:i18n="http://xml.zope.org/namespaces/i18n"
       lang="en"
       metal:use-macro="context/main_template/macros/master"
       i18n:domain="plone">
<body>

<metal:title fill-slot="content-title">
<metal:title define-macro="content-title">

<!-- widget social network -->
<div id="share-links" tal:define="actual_url context/REQUEST/ACTUAL_URL;
                                       query_string 
python:context.REQUEST['QUERY_STRING'] != '' and '?' + 
context.REQUEST['QUERY_STRING'] or '';
                                       full_url 
string:${actual_url}${query_string}">
<ul>
<li tal:condition="nothing">
<!-- FACEBOOK LIKE -->
<div id="bfacebook" class="fb-like"><a tal:attributes="href 
python:'http://www.facebook.com/share.php?u=' + full_url" 
class="external-link"><img id="facebook-link" tal:attributes="src 
string:${context/portal_url}/portal_skins/custom/facebook-ico.gif" 
width="16" height="16" alt="Condividi su Facebook" title="Condividi su 
Facebook" i18n:attributes="alt facebook-share-alt; title 
facebook-share-title" /></a></div>
<script type="text/javascript">
<!--
                 (function(d, s, id) {

                     var t = d.getElementById('bfacebook');
                     t.innerHTML = '';
                     // t.setAttribute('data-send', 'true');
                     t.setAttribute('data-layout', 'button_count');

                     var js, fjs = d.getElementsByTagName(s)[0];
                     if (d.getElementById(id)) return;
                     js = d.createElement(s); js.id = id;
                     js.src = "//connect.facebook.net/it_IT/all.js#xfbml=1";
                     fjs.parentNode.insertBefore(js, fjs);
                 }(document, 'script', 'facebook-jssdk'));
                 -->
</script>
</li>
<li>
<!-- FACEBOOK SHARE-->
<div id="bfacebook">
<a type='button_count' id="fb_share" tal:attributes="href 
python:'http://www.facebook.com/share.php?u=' + full_url"  
class="external-link"><img id="facebook-link" tal:attributes="src 
string:${context/portal_url}/portal_skins/custom/facebook-ico.gif" 
width="16" height="16" alt="Condividi su Facebook" title="Condividi su 
Facebook" i18n:attributes="alt facebook-share-alt; title 
facebook-share-title" /></a>
<script type="text/javascript">
<!--
                 (function(d, s, id){
                     var div = jq('#bfacebook');
                     var a = jq('#fb_share');
                     div.css('width', '107px');
                     a.attr('name', 'fb_share');
                     a.html('');

                     var js, fjs = d.getElementsByTagName(s)[0];
                     if (d.getElementById(id)) return;
                     js = d.createElement(s); js.id = id;
                     js.src = 
"//static.ak.fbcdn.net/connect.php/js/FB.Share";
                     fjs.parentNode.insertBefore(js, fjs);
                 }(document, 'script', 'facebook-jsshare'));

                 function setupFB() {
                     no_count = jq('.fb_share_no_count');
                     if (no_count.length) {
                         no_count.removeClass('fb_share_no_count');
                         var button = jq('.FBConnectButton');
                         var inner = jq('.fb_share_count_inner');
                         var count = jq('.fb_share_count');
                         button.css('webkit-border-radius', '3px');
                         button.css('moz-border-radius', '3px');
                         button.css('border-radius', '3px');
                         count.css('webkit-border-radius', '3px');
                         count.css('moz-border-radius', '3px');
                         count.css('border-radius', '3px');
                         inner.css('background-color', '#ffffff')
                         inner.css('webkit-border-radius', '3px');
                         inner.css('moz-border-radius', '3px');
                         inner.css('border-radius', '3px');
                         inner.css('font-weight', 'normal');
                         inner.text('0');
                     } else
                         setTimeout('setupFB()', 250);
                 }
                 jq(setupFB());
                 -->
</script>
</div>
</li>
<li>
<!-- TWITTER -->
<div><a tal:attributes="href python: 'https://twitter.com/share?url=' + 
full_url + '&lang=' + context.REQUEST['LANGUAGE'] + 
'&via=artifex_it'" class="twitter-share-button external-link"><img 
tal:attributes="src 
string:${context/portal_url}/portal_skins/custom/twitter-ico.gif" 
width="16" height="16" alt="Condividi su Twitter" title="Condividi su 
Twitter" i18n:attributes="alt twitter-share-alt; title 
twitter-share-title" /></a></div>
<script type="text/javascript">
<!--
                 !function(d,s,id){var 
js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");
                 -->
</script>
</li>
<li>
<!-- GOOGLE + -->
<div id="bplusone"><a tal:attributes="href python: 
'https://plusone.google.com/_/+1/confirm?hl=' + 
context.REQUEST['LANGUAGE'] + '&url=' + full_url" 
class="external-link"><img tal:attributes="src 
string:${context/portal_url}/portal_skins/custom/plusone-ico.gif" 
width="16" height="16" alt="Condividi su Google Plus" title="Condividi 
su Google Plus" i18n:attributes="alt plusone-share-alt; title 
plusone-share-title" /></a></div>
<script type="text/javascript">
<!--
                   window.___gcfg = {lang: 'it'};

                   (function() {

                     var t = document.getElementById('bplusone');
                     var bt = document.createElement('g:plusone');
                     bt.setAttribute('size', 'medium');
                     // t.parentNode.insertBefore(bt, t);
                     t.parentNode.replaceChild(bt, t);

                     // alert(document.getElementsByTagName('g:plusone'));

                     var po = document.createElement('script'); po.type 
= 'text/javascript'; po.async = true;
                     po.src = 'https://apis.google.com/js/plusone.js';
                     var s = document.getElementsByTagName('script')[0]; 
s.parentNode.insertBefore(po, s);
                   })();
                 -->
</script>
</li>
</ul>
</div>
<!-- widget social network -->
<div class="visualClear"></div>

<h1 metal:use-macro="context/kss_generic_macros/macros/generic_title_view">
          Generic KSS Title. Is rendered with class="documentFirstHeading".
</h1>

</metal:title>
</metal:title>

<metal:content-core fill-slot="content-core">
<metal:content-core define-macro="content-core">
<metal:field use-macro="python:context.widget('text', mode='view')">
             Body text
</metal:field>
</metal:content-core>
</metal:content-core>

</body>
</html>
-----------------------------------------------------------

>
> Renato
>
> Il 20 aprile 2012 16:10, Paolo Betti<paolo a artifex.it>  ha scritto:
>> Ciao a tutti,
>>
>> sulla bontà dei principi ispiratori della legge spero che siamo tutti
>> d'accordo. :-)
>>
>> Sulla sua applicazione devo dire che non ho mai incontrato veramente grossi
>> ostacoli.
>>
>> All'inizio, con i primi siti, ricordo che fu abbastanza complicato ma ora,
>> che sono passati molti anni e che si sono consolidate le tecniche per
>> risolvere i problemi, si tratta veramente solo di applicarle come buone
>> pratiche fin dalla progettazione del sito.
>>
>> Tra Strict e Transitional l'unica caratteristica di cui sento la mancanza è
>> l'attributo target (tranquillamente risolvibile con il JavaScript), per
>> Flash ho sempre avuto una specie di allergia per cui se devo fare un
>> bilancio posso affermare tranquillamente che questa legge ha portato molti
>> più benefici che svantaggi. ;-)
>>
>> Riguardo ai social network, il vero problema è che, purtroppo, sono molto
>> poco accessibili e più che le battaglie sulla privacy bisognerebbe fare
>> pressione perché migliorassero questo aspetto.
>>
>> [AUTOPROMOZIONE ON]
>>
>> Volevo parlarne al Plone Day ma visto che è capitato il discorso...anche i
>> widget con i contatori sono orribili dal punto di vista dell'accessibilità
>> ma su quelli qualcosa si può fare.
>> Ho proprio pubblicato ieri sul portale turistico dell'Emilia-Romagna il
>> frutto del lavoro per migliorare un po' i widget. Un esempio lo potete
>> vedere qui:
>> http://www.emiliaromagnaturismo.it/it/redazionali/un-cielo-di-aquiloni
>>
>> Se vi interessa il codice, anche per Plone:
>> http://www.artifex.it/informatica/social-button-un-po-piu-accessibili-e-con-sintassi-xhtml-valida
>>
>> Mi farebbe molto piacere avere la vostra opinione.
>>
>> [AUTOPROMOZIONE OFF]
>>
>> A presto.
>>
>> PB
>>
>> Il 20/04/2012 12:22, Alessandra Rossi ha scritto:
>>
>>> Ciao,
>>> io all'epoca per quella legge mi sono battuta e ne difendo lo spirito.
>>> Sicuramente  è vecchia e le specifiche tecniche sono inadeguate ma senza
>>> di quella sai quante persone con problemi si sarebbero viste tagliate fuori
>>> dalla fruizione di servizi pubblici?
>>> Per favore, non irridete queste cose e, magari, quando avete pronto il
>>> vostro sito, fatelo provare a qualcuno che non ci vede o non può usare il
>>> mouse, se funziona va bene.
>>> Ciao
>>> Alessandra
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> ----- Original Message ----- From: "renato pontefice"<renareto a gmail.com>
>>> To: "La lista degli italiani appassionati di Plone."
>>> <plone-plone-it a lists.plone.org>
>>> Sent: Friday, April 20, 2012 11:31 AM
>>> Subject: Re: [Plone-IT]Plone: aderenza legge accessibilità
>>>
>>>
>>> Ciao,
>>> si, condivido le virgolette su "simpatica" (esistono numerose leggende
>>> su questa legge...)
>>>
>>> Grazie per il link. Quindi con Plone tutto si risolve con l' uso di uno
>>> skin?
>>> Esistono siti da vedere?
>>>
>>> Grazie ancora
>>> Renato
>>>
>>> Il 20 aprile 2012 11:23, Vito Falco<vitofalco a gmail.com>  ha scritto:
>>>> Ciao,
>>>> per la "simpatica" legge Stanca (dato che le specifiche non sono proprio
>>>> aggiornate ne' coerenti tra di loro) esiste il progetto ItalianSkin
>>>> portato
>>>> avanti da molti di questa
>>>> mailinglist:
>>>> http://pypi.python.org/pypi?%3Aaction=search&term=italianskin&submit=search
>>>>
>>>> Vito
>>>>
>>>> Il giorno 20 aprile 2012 11:19, renato pontefice<renareto a gmail.com>  ha
>>>> scritto:
>>>>>
>>>>> Ciao,
>>>>> non ricordo se ho già scritto questa cosa. Casomai mi scuso.
>>>>>
>>>>> volevo sapere se Plone, come altri CMS , è aderente a questa legge
>>>>> (che obbliga i siti dei comuni a dotarsi di siti web aderenti a questa
>>>>> legge)
>>>>> sul sito Plonegov.it, non sono riuscito a trovare informazioni.
>>>>>
>>>>> Sapreste dirmi qlc cosa?
>>>>>
>>>>> Grazie
>>>>>
>>>>> Renato
>>>>> _______________________________________________
>>>>> Plone-IT mailing list
>>>>> Plone-IT a lists.plone.org
>>>>> https://lists.plone.org/mailman/listinfo/plone-plone-it
>>>>>
>>>>> http://plone-regional-forums.221720.n2.nabble.com/Plone-Italy-f221721.html
>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Plone: web sounds better.
>>>> http://appuntiplone.wordpress.com (Bari, IT)
>>>> - http://notasdeplone.wordpress.com (ES)
>>>>
>>>>
>>>> _______________________________________________
>>>> Plone-IT mailing list
>>>> Plone-IT a lists.plone.org
>>>> https://lists.plone.org/mailman/listinfo/plone-plone-it
>>>>
>>>> http://plone-regional-forums.221720.n2.nabble.com/Plone-Italy-f221721.html
>>> _______________________________________________
>>> Plone-IT mailing list
>>> Plone-IT a lists.plone.org
>>> https://lists.plone.org/mailman/listinfo/plone-plone-it
>>> http://plone-regional-forums.221720.n2.nabble.com/Plone-Italy-f221721.html
>>>
>>> _______________________________________________
>>> Plone-IT mailing list
>>> Plone-IT a lists.plone.org
>>> https://lists.plone.org/mailman/listinfo/plone-plone-it
>>> http://plone-regional-forums.221720.n2.nabble.com/Plone-Italy-f221721.html
>>
>> --
>>   Ing. Paolo Betti
>>   informatica e gestione energia
>>   via Mons. F. Liverani, 53 - 48121 Ravenna - tel. 335.427757
>>
>>
>> _______________________________________________
>> Plone-IT mailing list
>> Plone-IT a lists.plone.org
>> https://lists.plone.org/mailman/listinfo/plone-plone-it
>> http://plone-regional-forums.221720.n2.nabble.com/Plone-Italy-f221721.html
> _______________________________________________
> Plone-IT mailing list
> Plone-IT a lists.plone.org
> https://lists.plone.org/mailman/listinfo/plone-plone-it
> http://plone-regional-forums.221720.n2.nabble.com/Plone-Italy-f221721.html

-- 
   Ing. Paolo Betti
   informatica e gestione energia
   via Mons. F. Liverani, 53 - 48121 Ravenna - tel. 335.427757



Maggiori informazioni sulla lista Plone-IT