<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>XFA@Mobile</title>
	<atom:link href="http://blogs.adobe.com/foxes/feed/" rel="self" type="application/rss+xml" />
	<link>http://blogs.adobe.com/foxes</link>
	<description>The mobile way</description>
	<lastBuildDate>Fri, 03 May 2013 05:27:23 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>Mobile Form upscaling</title>
		<link>http://blogs.adobe.com/foxes/mobile-form-upscaling/</link>
		<comments>http://blogs.adobe.com/foxes/mobile-form-upscaling/#comments</comments>
		<pubDate>Fri, 26 Apr 2013 06:15:58 +0000</pubDate>
		<dc:creator>Raghavendra Pandey</dc:creator>
				<category><![CDATA[html forms]]></category>
		<category><![CDATA[AEM LiveCycle integration]]></category>
		<category><![CDATA[CQ and LiveCycle]]></category>
		<category><![CDATA[Forms for field worker]]></category>
		<category><![CDATA[Forms in AEM]]></category>
		<category><![CDATA[Forms in CQ]]></category>
		<category><![CDATA[Forms on iPad]]></category>
		<category><![CDATA[HTML forms]]></category>
		<category><![CDATA[Html xfa form]]></category>
		<category><![CDATA[HTML5 forms]]></category>
		<category><![CDATA[HTML5 mobile forms]]></category>
		<category><![CDATA[Mobile forms]]></category>
		<category><![CDATA[Mobile friendly forms]]></category>
		<category><![CDATA[Mobile HTML forms]]></category>
		<category><![CDATA[Mobile XFA]]></category>
		<category><![CDATA[Mobile XFA design considerations]]></category>
		<category><![CDATA[Offline form]]></category>
		<category><![CDATA[Tablet forms]]></category>
		<category><![CDATA[XFA iPad]]></category>

		<guid isPermaLink="false">http://blogs.adobe.com/foxes/?p=370</guid>
		<description><![CDATA[Mobile Form rendition of an XFA form is almost similar to PDF Form rendition in terms of behavior and appearance. Some of the dissimilarities are discussed in Mobile Form Vs PDF Form post. In this post, I&#8217;ll discuss one key difference &#8230; <a href="http://blogs.adobe.com/foxes/mobile-form-upscaling/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Mobile Form rendition of an XFA form is almost similar to PDF Form rendition in terms of behavior and appearance. Some of the dissimilarities are discussed in <a href="http://blogs.adobe.com/foxes/mobile-forms-vs-pdf-forms/">Mobile Form Vs PDF Form</a> post. In this post, I&#8217;ll discuss one key difference that a form designer should take care while designing the XFA Template and that is where it is so critical to <a href="http://blogs.adobe.com/foxes/mobile-forms-livecycle-designer-way">preview your templates from the designer</a> itself.</p>
<p>Browsers or any screen presentation application for that matter translates all the measurements to pixels as screen can only understand pixels. So if you specify a text in html to be &#8220;10 pt (points)&#8221; it will be  calculated to pixels and then rendered on the screen. Point or any measurement unit conversion to Pixel is not exact science. It depends on various environment parameters like OS, screen resolution of the device etc. Yet, there is a very good approximation for that conversion and that is <strong>1 inch = 72 points = 96 pixels</strong>.</p>
<p>If Mobile Form adheres to the standard approximation then one can see the same pixel perfect rendition of the form on PDF, Browser and Designer. We ran few heuristics across all the browsers and devices and it turns out that if we follow the standard scale we might loose on fidelity side due to differences in the imaging model of browsers and PDF.</p>
<p>For example, the default width of borders around the field or any line is &#8220;0.0069 inch&#8221;, if you design a form using LiveCycle Designer, which is co-incidentally also the most frequently used border thickness. If Mobile Form follow the standard scale that is &#8220;96 pixels&#8221; for &#8220;1 inch&#8221;, then this thickness would translate into &#8220;0.6624 pixels&#8221;. PDF imaging model is sophisticated enough to handle such subpixel sizes. The detail on how it does is beyond the scope of this document. But the browsers ignore anything less than a pixel. So following standard scale will result into no boders or lines in most of the forms.</p>
<p>While conceptualizing the Mobile Form, the main idea was to enable form filling on the browsers rather than matching the pixel perfectness of the PDF. So Mobile Form upscales the form rendition to make &#8220;0.0069 inch&#8221; thick borders visible. It uses &#8220;<strong>1 inch = 72 points = 144 pixels</strong>&#8220;. At this scale the thickness turns out to be close to 1 pixel and that makes all the browsers happy.</p>
<p>Upscaling by 150% has its own side effects that the form designer should be careful of. Here is the two screenshots of the forms (posted at Adobe Forums) in pdf and in html. You can see the effect of scaling in Mobile Form.</p>
<p><a href="http://blogs.adobe.com/foxes/files/2013/04/Upscale.png"><img class="alignnone size-large wp-image-382" alt="Upscale" src="http://blogs.adobe.com/foxes/files/2013/04/Upscale-1024x339.png" width="640" height="211" /></a></p>
<p>Since Mobile Form is upscaling everything, you should check your text sizes so they don&#8217;t look not too big after upscaling. Another thing to note is image, since Mobile Form upscale it by 150% just make sure its picture quality remains good enough.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.adobe.com/foxes/mobile-form-upscaling/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Access Metadata from XDP</title>
		<link>http://blogs.adobe.com/foxes/access-metadata-from-xdp/</link>
		<comments>http://blogs.adobe.com/foxes/access-metadata-from-xdp/#comments</comments>
		<pubDate>Fri, 19 Apr 2013 05:26:02 +0000</pubDate>
		<dc:creator>Raghavendra Pandey</dc:creator>
				<category><![CDATA[html forms]]></category>
		<category><![CDATA[metdata]]></category>
		<category><![CDATA[AEM LiveCycle integration]]></category>
		<category><![CDATA[CQ and LiveCycle]]></category>
		<category><![CDATA[Forms for field worker]]></category>
		<category><![CDATA[Forms in AEM]]></category>
		<category><![CDATA[Forms in CQ]]></category>
		<category><![CDATA[Forms on iPad]]></category>
		<category><![CDATA[HTML forms]]></category>
		<category><![CDATA[Html xfa form]]></category>
		<category><![CDATA[HTML5 forms]]></category>
		<category><![CDATA[HTML5 mobile forms]]></category>
		<category><![CDATA[Mobile forms]]></category>
		<category><![CDATA[Mobile friendly forms]]></category>
		<category><![CDATA[Mobile HTML forms]]></category>
		<category><![CDATA[Mobile XFA]]></category>
		<category><![CDATA[Mobile XFA design considerations]]></category>
		<category><![CDATA[Offline form]]></category>
		<category><![CDATA[Tablet forms]]></category>
		<category><![CDATA[XFA iPad]]></category>

		<guid isPermaLink="false">http://blogs.adobe.com/foxes/?p=347</guid>
		<description><![CDATA[In this post, I&#8217;ll address a use case where in profile you want to access data from the rendered form. Sometimes, you might want to access metadata associated with the form. You can add metadata to the form using the &#8230; <a href="http://blogs.adobe.com/foxes/access-metadata-from-xdp/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>In this post, I&#8217;ll address a use case where in profile you want to access data from the rendered form. Sometimes, you might want to access metadata associated with the form. You can add metadata to the form using the Form Properties option of the File menu in LiveCycle Designer.<br />
<a href="http://blogs.adobe.com/foxes/files/2013/04/form_prop1.png"><img class="alignnone size-large wp-image-349" alt="form_prop1" src="http://blogs.adobe.com/foxes/files/2013/04/form_prop1-1024x551.png" width="640" height="344" /></a></p>
<p>&nbsp;</p>
<p>You can add title, description and also custom properties like shown in the picture below. This meta data makes your form more accessible as this info is read by screen readers also. More info on designing accessible forms can be found at <a href="http://blogs.adobe.com/foxes/wp-admin/post.php?post=186&amp;action=edit">Accessible Mobile Form</a>.</p>
<p><a href="http://blogs.adobe.com/foxes/files/2013/04/form_prop_diag.png"><img class="alignnone size-large wp-image-350" alt="form_prop_diag" src="http://blogs.adobe.com/foxes/files/2013/04/form_prop_diag-1024x549.png" width="640" height="343" /></a></p>
<p>&nbsp;</p>
<p>Title specified in this data will appear in the title bar of the <a href="http://www.adobe.com/in/products/reader.html">Adobe Reader</a> when you open the pdf form. If you want to show the title in Html Form, you can leverage the FormBridge APIs to retrieve the form data.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;">$<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
    window.<span style="color: #660066;">formBridge</span>.<span style="color: #660066;">connect</span><span style="color: #009900;">&#40;</span>
        <span style="color: #000066; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
<span style="display:block;background-color: #ffc;">            <span style="color: #000066; font-weight: bold;">var</span> titleResult <span style="color: #339933;">=</span> window.<span style="color: #660066;">formBridge</span>.<span style="color: #660066;">getFieldProperties</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;xfa.form..desc.title&quot;</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;value&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></span>            <span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>titleResult <span style="color: #339933;">&amp;</span>amp<span style="color: #339933;">;&amp;</span>amp<span style="color: #339933;">;</span> <span style="color: #339933;">!</span>titleResult.<span style="color: #660066;">errors</span> <span style="color: #339933;">&amp;</span>amp<span style="color: #339933;">;&amp;</span>amp<span style="color: #339933;">;</span> titleResult.<span style="color: #660066;">data</span> <span style="color: #339933;">&amp;</span>amp<span style="color: #339933;">;&amp;</span>amp<span style="color: #339933;">;</span> titleResult.<span style="color: #660066;">data</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
                $<span style="color: #009900;">&#40;</span>document<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">attr</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'title'</span><span style="color: #339933;">,</span> titleResult.<span style="color: #660066;">data</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #009900;">&#125;</span>
        <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>XFA Form stores all the metadata associated with the form in &lt;desc&gt; element of the root level subform. Since the name of your root level subform can be different for all the forms, you are rendering with a profile, you have to use a form independent SOM expression. That is why at line 4 of the script, you can see the double dot notation.<br />
In the similar way you can extract any meta data present in the form and use it in html form.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.adobe.com/foxes/access-metadata-from-xdp/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Hide template reference</title>
		<link>http://blogs.adobe.com/foxes/hide-template-reference/</link>
		<comments>http://blogs.adobe.com/foxes/hide-template-reference/#comments</comments>
		<pubDate>Mon, 01 Apr 2013 06:15:34 +0000</pubDate>
		<dc:creator>Raghavendra Pandey</dc:creator>
				<category><![CDATA[html forms]]></category>
		<category><![CDATA[AEM LiveCycle integration]]></category>
		<category><![CDATA[CQ and LiveCycle]]></category>
		<category><![CDATA[Forms for field worker]]></category>
		<category><![CDATA[Forms in AEM]]></category>
		<category><![CDATA[Forms in CQ]]></category>
		<category><![CDATA[Forms on iPad]]></category>
		<category><![CDATA[HTML forms]]></category>
		<category><![CDATA[Html xfa form]]></category>
		<category><![CDATA[HTML5 forms]]></category>
		<category><![CDATA[HTML5 mobile forms]]></category>
		<category><![CDATA[Mobile forms]]></category>
		<category><![CDATA[Mobile friendly forms]]></category>
		<category><![CDATA[Mobile HTML forms]]></category>
		<category><![CDATA[Mobile XFA]]></category>
		<category><![CDATA[Mobile XFA design considerations]]></category>
		<category><![CDATA[Offline form]]></category>
		<category><![CDATA[Tablet forms]]></category>
		<category><![CDATA[XFA iPad]]></category>

		<guid isPermaLink="false">http://blogs.adobe.com/foxes/?p=313</guid>
		<description><![CDATA[In this post I will describe how one can you pass template reference without using request parameter. The default profile of Mobile Form takes all the parameters like template reference, data reference etc through HTTP request parameter. If Mobile Form &#8230; <a href="http://blogs.adobe.com/foxes/hide-template-reference/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>In this post I will describe how one can you pass template reference without using request parameter. The default profile of <a href="http://blogs.adobe.com/foxes/lc-mobile-forms/">Mobile Form</a> takes all the parameters like template reference, data reference etc through HTTP request parameter. If Mobile Form is deployed to serve the forms on internet then you might not like to expose such URLs on public forums. That is probably because it would expose the internal repository structure to the end user.<br />
With the default profile, a form url would like http://&lt;lcserver&gt;:&lt;port&gt;/lc/content/xfaforms/profiles/test.html?contentRoot=repository:///Applications/FormSubmission/1.0&amp;template=SimpleForm.xdp. This link contains the template reference present in your LC repository which you might not like to expose. In this post, I will cover how you can create a new profile to cope up with this problem.</p>
<p>Creating a new Mobile Form profile is very similar to creating a new resource and resource renderer i.e. to create a sling script and a jcr content node if required. I created a <a href="http://blogs.adobe.com/foxes/files/2013/03/mfprofile.zip">sample application</a> package. You can install  the package using http://&lt;lcserver&gt;:&lt;port&gt;/lc/crx/packmgr/index.jsp UI.</p>
<p>Now go to http://&lt;lcserver&gt;:&lt;port&gt;/lc/crx/de page (CRXDE Lite).  Browse the content node and you would notice nodes like following:</p>
<p><a href="http://blogs.adobe.com/foxes/files/2013/04/profile1.png"><img class="alignnone size-large wp-image-323" alt="profile1" src="http://blogs.adobe.com/foxes/files/2013/04/profile1-1024x597.png" width="640" height="373" /></a></p>
<p>&nbsp;</p>
<p>A <em>sling:folder</em> node <strong>form</strong>, then <em>nt:unstructured</em> node <strong>leave </strong>and <strong>template</strong>. Mobile Form rendition service, an OSGi service reponsible for generating html5 snippet for the xdp, can also take input from a <strong>template</strong> child<strong> </strong>node of the profile node which is <strong>leave </strong>in this case. If you select profile node <strong>leave </strong>in crxde lite, you notice the properties of this node like the following:</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><a href="http://blogs.adobe.com/foxes/files/2013/04/profile3.png"><img class="alignnone size-full wp-image-325" alt="profile3" src="http://blogs.adobe.com/foxes/files/2013/04/profile3.png" width="786" height="198" /></a></p>
<p>&nbsp;</p>
<p>You would notice one of the properties on the profile node is <em>sling:resourceSuperType</em> which is <strong>xfaforms/profile </strong>in this case. This is the property that makes any node Mobile Form profile node. This suggests sling to pass on the http requests to this node via profile renderer scripts which is profile jsp in Mobile Form context.</p>
<p>Mobile Form profile jsp page usually takes input from the request parameter but that is not the only way to pass parameters. For example to pass template info to profile jsp, you can create a child node named <strong>template</strong> in profile node hierarchy and specify template reference like the following:</p>
<p><a href="http://blogs.adobe.com/foxes/files/2013/04/profile2.png"><img class="alignnone size-large wp-image-324" alt="profile2" src="http://blogs.adobe.com/foxes/files/2013/04/profile2.png" width="610" height="198" /></a></p>
<p>&nbsp;</p>
<p>Using the child <strong>template </strong>node you can hide the template information from URL of the form. The new URL would be  http://&lt;lcserver&gt;:&lt;port&gt;/lc/content/forms/leave.html without any refresh to the template location.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.adobe.com/foxes/hide-template-reference/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Decoding Mobile Form Html</title>
		<link>http://blogs.adobe.com/foxes/decoding-mobile-form-html/</link>
		<comments>http://blogs.adobe.com/foxes/decoding-mobile-form-html/#comments</comments>
		<pubDate>Mon, 18 Mar 2013 06:35:56 +0000</pubDate>
		<dc:creator>Raghavendra Pandey</dc:creator>
				<category><![CDATA[html forms]]></category>
		<category><![CDATA[AEM LiveCycle integration]]></category>
		<category><![CDATA[CQ and LiveCycle]]></category>
		<category><![CDATA[customize]]></category>
		<category><![CDATA[Designer]]></category>
		<category><![CDATA[ES]]></category>
		<category><![CDATA[ES4]]></category>
		<category><![CDATA[forms]]></category>
		<category><![CDATA[Forms for field worker]]></category>
		<category><![CDATA[Forms in AEM]]></category>
		<category><![CDATA[Forms in CQ]]></category>
		<category><![CDATA[Forms on iPad]]></category>
		<category><![CDATA[HTML forms]]></category>
		<category><![CDATA[Html xfa form]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[HTML5 forms]]></category>
		<category><![CDATA[HTML5 mobile forms]]></category>
		<category><![CDATA[LiveCycle]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[Mobile Form]]></category>
		<category><![CDATA[Mobile forms]]></category>
		<category><![CDATA[Mobile friendly forms]]></category>
		<category><![CDATA[Mobile HTML forms]]></category>
		<category><![CDATA[Mobile XFA]]></category>
		<category><![CDATA[Mobile XFA design considerations]]></category>
		<category><![CDATA[Offline form]]></category>
		<category><![CDATA[Tablet forms]]></category>
		<category><![CDATA[XDP]]></category>
		<category><![CDATA[xfa]]></category>
		<category><![CDATA[XFA iPad]]></category>

		<guid isPermaLink="false">http://blogs.adobe.com/foxes/?p=263</guid>
		<description><![CDATA[Mobile Form generates html snippet from XDP template designed from LiveCycle Designer. In this post, we will decode the internal structure of the generated html snippet. Once you are familiar with the html structure, you can customize it at will. &#8230; <a href="http://blogs.adobe.com/foxes/decoding-mobile-form-html/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Mobile Form generates html snippet from XDP template designed from LiveCycle Designer. In this post, we will decode the internal structure of the generated html snippet. Once you are familiar with the html structure, you can customize it at will.</p>
<p>Generally, Mobile Form generates an html &lt;div&gt; element for every object of XFA form maintaining the same hierarchical structure. Here is the html snippet source of the xfa form and the red lines shows the 1-1 mapping between xfa objects and html.</p>
<p><a href="http://blogs.adobe.com/foxes/files/2013/03/xh.png"><img class="alignnone size-large wp-image-279" alt="xh" src="http://blogs.adobe.com/foxes/files/2013/03/xh-1024x277.png" width="640" height="173" /></a></p>
<p>As mentioned earlier, for each xfa object, Mobile Form will have a corresponding div. Every div has, in general, 4 attributes:</p>
<ol>
<li><strong>class:</strong> This is the attribute that should be used for customization. Mobile Form generates many different class selectors based on the various attributes of XFA object. One can use these class selectors to specify styles on the objects.</li>
<li><strong>id:</strong> This is for internal usage. There is no guarantee for getting same id all the time. Anybody shouldn&#8217;t use it for customization.</li>
<li><strong>style:</strong> This is again for internal usage. XFA form specific layout styles are applied on the element using this attribute.</li>
<li><strong>data-xfamodel:</strong> This is again for internal usage. Mobile Form keeps xfa form specific data in this data attribute. One should not temper with this to ensure smooth processing.</li>
</ol>
<p>All set for customizing the individual html elements of Mobile Form, well, you need to know what all class selectors are applied on each div element. Mobile Form first adds a class for type of objects like subform, field, draw, area etc, then subtype of object like if it a field then what type of field: textfield, choicelist etc then the name of the object. You will find these 3 class selectors on each and every html div element corresponding to XFA objects. Here is the complete list:</p>
<div>
<table>
<tbody>
<tr>
<th>XFA Object</th>
<th>Class Selectors in Html div</th>
</tr>
<tr>
<td>Button</td>
<td>field, buttonfield</td>
</tr>
<tr>
<td>Check Box</td>
<td>field, checkboxfield</td>
</tr>
<tr>
<td>Circle</td>
<td>draw, arc</td>
</tr>
<tr>
<td>Content Area</td>
<td>contentarea</td>
</tr>
<tr>
<td>Date Field</td>
<td>field, datefield</td>
</tr>
<tr>
<td>Date/Time Field</td>
<td>field, datetimefield</td>
</tr>
<tr>
<td>Decimal Field</td>
<td>field, numericfield</td>
</tr>
<tr>
<td>Drop-down List</td>
<td>field, choicelistfield</td>
</tr>
<tr>
<td>Email Submit Button</td>
<td>field, buttonfield</td>
</tr>
<tr>
<td>Image Field</td>
<td>field, imagefield</td>
</tr>
<tr>
<td>HTTP Submit Button</td>
<td>field, buttonfield</td>
</tr>
<tr>
<td>Image</td>
<td>draw, image</td>
</tr>
<tr>
<td>Line</td>
<td>draw, line</td>
</tr>
<tr>
<td>List Box</td>
<td>field, choicelistfield</td>
</tr>
<tr>
<td>Numeric Field</td>
<td>field, numericfield</td>
</tr>
<tr>
<td>Password Field</td>
<td>field, passwordfield</td>
</tr>
<tr>
<td>Print Button</td>
<td>field, buttonfield</td>
</tr>
<tr>
<td>Radio Button</td>
<td>field, radiofield</td>
</tr>
<tr>
<td>Rectangle</td>
<td>draw, rectangle</td>
</tr>
<tr>
<td>Reset Button</td>
<td>field, buttonfield</td>
</tr>
<tr>
<td>Signature Field</td>
<td>field, signaturefield</td>
</tr>
<tr>
<td>Subform</td>
<td>subform</td>
</tr>
<tr>
<td>Table</td>
<td>subform</td>
</tr>
<tr>
<td>Text Field</td>
<td>field, textfield</td>
</tr>
<tr>
<td>Text</td>
<td>draw, text</td>
</tr>
<tr>
<td>Time Field</td>
<td>field, timefield</td>
</tr>
</tbody>
</table>
</div>
<p>Besides the above class selectors, Mobile Form adds the name of the object as a class selector also. This is very useful if you want to apply some customizations to a particular field or draw element.</p>
<p>I will now backup a bit and describe how Mobile Form generates an html form from an XFA Form.<br />
The initial html snippet generated by Mobile Form looks like the following with all the jsp variables &lt;%=@@variables@@%&gt; expanded into encoded html strings, as soon as you open any form in the browser:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
</pre></td><td class="code"><pre class="html" style="font-family:monospace;">&lt;form id=&quot;lcforms_xfaform_container&quot; action=&quot;/lc/content/xfaforms/submission/default&quot; enctype=&quot;application/x-www-form-urlencoded&quot; method=&quot;post&quot; target=&quot;_self&quot;&gt;
&lt;div class=&quot;formLoading&quot; id=&quot;formLoadingDiv&quot; data-xfadom=&quot;&amp;lt;%=formDom%&amp;gt;&quot; data-xfahtmldom=&quot;&amp;lt;%=firstpagedom%&amp;gt;&quot; data-xfaresthtmldom=&quot;&amp;lt;%=resthtmldom%&amp;gt;&quot; data-xfahiddenobjdom=&quot;&amp;lt;%=hiddenObjDom%&amp;gt;&quot; data-xfamergeddom=&quot;&amp;lt;%=mergedFormDom%&amp;gt;&quot; data-xfalocaleset=&quot;&amp;lt;%=localeset%&amp;gt;&quot; data-internalcss=&quot;&amp;lt;%=internalcss%&amp;gt;&quot; data-xfarendercontext=&quot;&amp;lt;%=renderContext%&amp;gt;&quot;&gt;
&nbsp;
Loading...
&nbsp;
&lt;script type=&quot;text/javascript&quot;&gt;
_initializeXfaLoading();
&lt;/script&gt;
&nbsp;
&lt;/div&gt;
&lt;/form&gt;</pre></td></tr></table></div>

<p>Here <em>formAction</em> is the <em>submitUrl</em> specified in the request parameter. For detail on the request parameters refer <a href="http://blogs.adobe.com/foxes/lc-mobile-forms/">Mobile Form</a>. The &lt;div&gt; at line 2 contains all the data required to show a form. The <code>_initializeXfaLoading()</code> method of xfa runtime javascript generates the actual form while loading which will look like following:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code"><pre class="html" style="font-family:monospace;">&lt;form id=&quot;lcforms_xfaform_container&quot; enctype=&quot;application/x-www-form-urlencoded&quot; method=&quot;post&quot; target=&quot;_self&quot;&gt;
&lt;div class=&quot;xfaform form1&quot; role=&quot;form&quot; data-xfamodel=&quot;{}&quot;&gt;&lt;!-- form content goes here --&gt;&lt;/div&gt;
&lt;/form&gt;</pre></td></tr></table></div>

<p>Now let&#8217;s see how Mobile Form represents individual XFA Objects into Html objects.<br />
For draw elements, Mobile Form uses <a href="http://www.w3.org/TR/SVG/">SVG</a>.<br />
The <code>text</code> objects are represented using <a href="http://www.w3.org/TR/SVG/text.html">SVG Text</a>. We don&#8217;t use html text because the layout generated by the html text doesn&#8217;t really match up to the text layout by XFA. SVG Text gives more control to the author by not doing auto layout. <a href="http://www.w3.org/TR/SVG/text.html#TextElement">The &#8220;text&#8221; element</a> of SVG has <code>textLength</code> attribute that gives finer control over the length of the text object. SVG is the primary reason why Mobile Form looks closer to PDF Form. Similarly line, arc and rectancle are represented by SVG only. Only The <code>image</code> object is represented using <a href="http://dev.w3.org/html5/markup/img.html">html5 &lt;img&gt;</a>.</p>
<p>XFA Field object is wrapped in one html <code>&lt;div&gt;</code> that contains two different <code>&lt;div&gt;</code>, one each for <em>caption</em> and <em>widget</em>, something like the following:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code"><pre class="html" style="font-family:monospace;">&lt;div class=&quot;field textfield TextField1&quot; id=&quot;_15&quot; data-xfamodel=&quot;&quot;&gt;
&lt;div class=&quot;caption&quot; role=&quot;presentation&quot; data-xfamodel=&quot;&quot;&gt;&lt;svg&gt; Text Field &lt;/svg&gt;&lt;/div&gt;
&lt;div class=&quot;widget textfieldwidget&quot; data-xfamodel=&quot;&quot;&gt;&lt;input type=&quot;text&quot; /&gt;&lt;/div&gt;
&lt;/div&gt;</pre></td></tr></table></div>

<p>Field caption is represented in SVG just like the draw text object whereas the field widget, the interactive area or the area where user can click and fill the data, is represented using <a href="http://www.w3.org/TR/html-markup/input.html"><code>html5 &lt;input&gt;</code></a>. If caption is not present on the field, Mobile Form not only omits the <code>caption div</code> but also merge <code>widget div</code> and <code>field div</code>. Every <code>div</code> has a performance cost while loading the page or interacting with it. So in order to optimize the user experience, we merge div elements. For Date Field and List Box, Mobile Form uses javascript widgets to match up to widgets in PDF Form.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.adobe.com/foxes/decoding-mobile-form-html/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Mobile Form profile</title>
		<link>http://blogs.adobe.com/foxes/mobile-form-profile/</link>
		<comments>http://blogs.adobe.com/foxes/mobile-form-profile/#comments</comments>
		<pubDate>Fri, 15 Mar 2013 07:52:09 +0000</pubDate>
		<dc:creator>Raghavendra Pandey</dc:creator>
				<category><![CDATA[html forms]]></category>
		<category><![CDATA[AEM LiveCycle integration]]></category>
		<category><![CDATA[CQ and LiveCycle]]></category>
		<category><![CDATA[Forms for field worker]]></category>
		<category><![CDATA[Forms in AEM]]></category>
		<category><![CDATA[Forms in CQ]]></category>
		<category><![CDATA[Forms on iPad]]></category>
		<category><![CDATA[HTML forms]]></category>
		<category><![CDATA[Html xfa form]]></category>
		<category><![CDATA[HTML5 forms]]></category>
		<category><![CDATA[HTML5 mobile forms]]></category>
		<category><![CDATA[Mobile forms]]></category>
		<category><![CDATA[Mobile friendly forms]]></category>
		<category><![CDATA[Mobile HTML forms]]></category>
		<category><![CDATA[Mobile XFA]]></category>
		<category><![CDATA[Mobile XFA design considerations]]></category>
		<category><![CDATA[Offline form]]></category>
		<category><![CDATA[Tablet forms]]></category>
		<category><![CDATA[xfa html customize profile designer]]></category>
		<category><![CDATA[XFA iPad]]></category>

		<guid isPermaLink="false">http://blogs.adobe.com/foxes/?p=243</guid>
		<description><![CDATA[Mobile Form enables LiveCycle XFA forms on mobile devices. It does it by rendering XFA Form to Html5 document. As per Sling website, Apache Sling is a web framework that uses a Java Content Repository, such as Apache Jackrabbit, to store and manage content. Sling &#8230; <a href="http://blogs.adobe.com/foxes/mobile-form-profile/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p><a href="http://blogs.adobe.com/foxes/lc-mobile-forms/">Mobile Form</a> enables LiveCycle XFA forms on mobile devices. It does it by rendering XFA Form to Html5 document.</p>
<p>As per <a href="http://sling.apache.org">Sling website</a>, Apache Sling is a web framework that uses a <a href="http://en.wikipedia.org/wiki/JSR-170">Java Content Repository</a>, such as <a href="http://jackrabbit.apache.org/">Apache Jackrabbit</a>, to store and manage content. Sling applications use either scripts or Java servlets, selected based on simple name conventions, to process HTTP requests in a RESTful way.</p>
<p>Mobile Form has a service that generates HTML snippet from XFA form. That html snippet, along with the xfaform css and js, can be embedded into any web page using the <a href="http://sling.apache.org">sling</a> constructs like the following:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
</pre></td><td class="code"><pre class="html" style="font-family:monospace;">&lt;%@ page session=&quot;false&quot; %&gt;
&lt;%@taglib prefix=&quot;sling&quot; uri=&quot;http://sling.apache.org/taglibs/sling/1.0&quot;%&gt;
&lt;%@taglib prefix=&quot;cq&quot; uri=&quot;http://www.day.com/taglibs/cq/1.0&quot; %&gt;
&nbsp;
&lt;%
    String locale = &quot;en_US&quot;;
    request.setAttribute(&quot;xfaLocale&quot;,locale.replace(&quot;_&quot;,&quot;&quot;));
%&gt;
&lt;!DOCTYPE html&gt;
&lt;html&gt;
       &lt;head&gt;
               &lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;
               &lt;meta charset=&quot;UTF-8&quot;&gt;
<span style="display:block;background-color: #ffc;">               &lt;cq:includeClientLib categories=&quot;xfaforms.I18N.${xfaLocale}&quot; /&gt;</span><span style="display:block;background-color: #ffc;">               &lt;cq:includeClientLib categories=&quot;xfaforms.runtime&quot; /&gt;</span>       &lt;/head&gt;
       &lt;body id=&quot;formBody&quot;&gt;
<span style="display:block;background-color: #ffc;">            &lt;sling:include resourceType=&quot;xfaforms/render&quot;/&gt;</span>       &lt;/body&gt;
&lt;/html&gt;</pre></td></tr></table></div>

<p>Pause and take a look at the highlighted lines 14,15 and 18. Rest of the stuff is pretty standard sling jsp script. We use the recommended practice for including <a href="http://dev.day.com/docs/en/cq/5-5/developing/components/clientlibs.html">client side libraries</a>. The first <em>includeClientLib</em> is for including the locale specific messages you can modify the xfaLocale parameter to control it where as the other <em>includeClientLib</em> is for including the XFA Runtime.</p>
<p>Sling include @ line 18 is responsible for the html snippet, I mentioned earlier. You can create you page and just add these lines to include client side libs and html snippet to get the form running.</p>
<p>We call the content node and the sling script, responsible for rendering form embedded in web page, Html profile. We call it so because, profile dictates how a form should look like and how it behaves. That means one needs to play with the profile for all the customization required in the form. Mobile Form leaves a lot of hooks in the generated html snippet in order to help the customization.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.adobe.com/foxes/mobile-form-profile/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mobile Form data submission</title>
		<link>http://blogs.adobe.com/foxes/submit-data-from-mobile-form/</link>
		<comments>http://blogs.adobe.com/foxes/submit-data-from-mobile-form/#comments</comments>
		<pubDate>Tue, 12 Mar 2013 06:08:24 +0000</pubDate>
		<dc:creator>Raghavendra Pandey</dc:creator>
				<category><![CDATA[html forms]]></category>
		<category><![CDATA[accessibility]]></category>
		<category><![CDATA[AEM LiveCycle integration]]></category>
		<category><![CDATA[CQ and LiveCycle]]></category>
		<category><![CDATA[Designer]]></category>
		<category><![CDATA[form]]></category>
		<category><![CDATA[Forms for field worker]]></category>
		<category><![CDATA[Forms in AEM]]></category>
		<category><![CDATA[Forms in CQ]]></category>
		<category><![CDATA[Forms on iPad]]></category>
		<category><![CDATA[HTML forms]]></category>
		<category><![CDATA[html preview]]></category>
		<category><![CDATA[Html xfa form]]></category>
		<category><![CDATA[HTML5 forms]]></category>
		<category><![CDATA[HTML5 mobile forms]]></category>
		<category><![CDATA[LiveCycle]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[Mobile forms]]></category>
		<category><![CDATA[Mobile friendly forms]]></category>
		<category><![CDATA[Mobile HTML forms]]></category>
		<category><![CDATA[Mobile XFA]]></category>
		<category><![CDATA[Mobile XFA design considerations]]></category>
		<category><![CDATA[Offline form]]></category>
		<category><![CDATA[preview]]></category>
		<category><![CDATA[Tablet forms]]></category>
		<category><![CDATA[xfa]]></category>
		<category><![CDATA[XFA iPad]]></category>

		<guid isPermaLink="false">http://blogs.adobe.com/foxes/?p=219</guid>
		<description><![CDATA[Mobile Form is a form after all, a way to capture user data at the end of the day. Once you got the data from users, you want to feed that data for further business processing.  If you see my &#8230; <a href="http://blogs.adobe.com/foxes/submit-data-from-mobile-form/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Mobile Form is a form after all, a way to capture user data at the end of the day. Once you got the data from users, you want to feed that data for further business processing.  If you see my <a href="http://blogs.adobe.com/foxes/2013/03/05/lc-mobile-forms/">first post</a> on mobile forms you would notice there is a API parameter <em>submitUrl</em> that can be of help here.<em> </em>You can configure your Mobile Form to post data in xml format to your service on submission of the forms. Since you can invoke any LiveCycle process or service RESTfully, you can technically trigger a process on form submission. In this post, I&#8217;ll describe how to trigger a process on form submission in detail. You can follow the same approach to POST the form data to any service.</p>
<p>All LiveCycle processes can be configured to be invoked over REST endpoint. You can create a process in your application and configure it for default start point. You can create a process to have input and output variable.</p>
<p>Mobile Form posts data to the specified <em>submitUrl</em> via <em>data</em> request parameter. If you don&#8217;t specify custom any &#8220;submitUrl&#8221;, the default submission servlet will show you the data in your browser. You can easily customize the default submission servlet and send data for further processing.</p>
<p>You can download custom submission servlet package from <a href="http://blogs.adobe.com/foxes/files/2013/03/customSubmit-1.0.zip">here</a> and install it via package manager by browsing http://&lt;server&gt;:&lt;port&gt;/lc/crx/packmgr. For details see <a href="http://dev.day.com/docs/en/crx/current/how_to/package_manager.html">package manager help</a>.<a href="http://blogs.adobe.com/foxes/files/2013/03/customSubmit-1.0.zip"><br />
</a></p>
<p>Now download the <a href="http://blogs.adobe.com/foxes/files/2013/03/FormSubmission.rar">FormSubmission</a> LiveCycle process and import it following the <a href="http://help.adobe.com/en_US/livecycle/10.0/AdminHelp/WS92d06802c76abadb-5145d5d12905ce07e7-7ff8.html">instructions</a>. You can create your own process as well. The important part is to get the REST url of the process. The rest url of the process turns out to be http://localhost:8080/rest/services/&lt;ApplicationName&gt;/&lt;ProcessName&gt;:1.0 as shown in the screenshot of workbench.</p>
<p><a href="http://blogs.adobe.com/foxes/files/2013/03/process11.png"><img class="alignnone  wp-image-222" alt="process1" src="http://blogs.adobe.com/foxes/files/2013/03/process11.png" width="485" height="276" /></a></p>
<p>&nbsp;</p>
<p>If you hit the REST url in the browser, it will ask for credentials of a user that can run this service or process. You can also disable the authentication required for running this process, for details look for <a href="http://help.adobe.com/en_US/livecycle/9.0/programLC/help/index.htm?content=000556.html">adobe help</a>.</p>
<p>http://localhost:8080/lc/content/xfaforms/profiles/default.html with the following parameters:</p>
<ul>
<li>contentRoot repository:///Applications/FormSubmission/1.0</li>
<li>template=SimpleForm.xdp</li>
<li>submitUrl=<em>Encode the URL and then pass</em>(http://localhost:8080/lc/content/xfaforms/submission/default.lcprocess?postProcess=http://localhost:8080/rest/services/FormSubmission/archiveForm:1.0)</li>
</ul>
<p>&nbsp;</p>
<p>As you can see, the <em>submitUrl</em> is pointing to the custom servlet with a request parameter &#8220;postProcess&#8221; where custom servlet further posts data. The &#8220;postProcess&#8221; service could be any other servlet but in this case it is the REST url of the LiveCycle process.</p>
<p>The attached form in the Form Submission collateral has just two fields and the &#8220;archiveProcess&#8221; creates a flat pdf  from the submitted data. You can test the form by rendering it and when you submit the form, it triggers the LiveCycle process and generate pdf out of it and serve it in the browser.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.adobe.com/foxes/submit-data-from-mobile-form/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Mobile Forms: LiveCycle Designer way</title>
		<link>http://blogs.adobe.com/foxes/mobile-forms-livecycle-designer-way/</link>
		<comments>http://blogs.adobe.com/foxes/mobile-forms-livecycle-designer-way/#comments</comments>
		<pubDate>Thu, 07 Mar 2013 07:01:18 +0000</pubDate>
		<dc:creator>Raghavendra Pandey</dc:creator>
				<category><![CDATA[html forms]]></category>
		<category><![CDATA[AEM LiveCycle integration]]></category>
		<category><![CDATA[CQ and LiveCycle]]></category>
		<category><![CDATA[Designer]]></category>
		<category><![CDATA[form]]></category>
		<category><![CDATA[Forms for field worker]]></category>
		<category><![CDATA[Forms in AEM]]></category>
		<category><![CDATA[Forms in CQ]]></category>
		<category><![CDATA[Forms on iPad]]></category>
		<category><![CDATA[HTML forms]]></category>
		<category><![CDATA[html preview]]></category>
		<category><![CDATA[Html xfa form]]></category>
		<category><![CDATA[HTML5 forms]]></category>
		<category><![CDATA[HTML5 mobile forms]]></category>
		<category><![CDATA[LiveCycle]]></category>
		<category><![CDATA[Mobile forms]]></category>
		<category><![CDATA[Mobile friendly forms]]></category>
		<category><![CDATA[Mobile HTML forms]]></category>
		<category><![CDATA[Mobile XFA]]></category>
		<category><![CDATA[Mobile XFA design considerations]]></category>
		<category><![CDATA[Offline form]]></category>
		<category><![CDATA[preview]]></category>
		<category><![CDATA[Tablet forms]]></category>
		<category><![CDATA[xfa]]></category>
		<category><![CDATA[XFA iPad]]></category>

		<guid isPermaLink="false">http://blogs.adobe.com/foxes/?p=175</guid>
		<description><![CDATA[You want to quickly test your designed form on how it would look like as Mobile Form, you can do it right from the livecycle designer without any other application. You first need to point your designer to use an &#8230; <a href="http://blogs.adobe.com/foxes/mobile-forms-livecycle-designer-way/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>You want to quickly test your designed form on how it would look like as Mobile Form, you can do it right from the livecycle designer without any other application. You first need to point your designer to use an LiveCycle ES4 server. You can configure it in LiveCycle Designer menu Tools-&gt;Options-&gt;Server Options like the following:</p>
<p><a href="http://blogs.adobe.com/foxes/files/2013/03/designer_preview.png"><img class="alignnone size-full wp-image-197" alt="designer_preview" src="http://blogs.adobe.com/foxes/files/2013/03/designer_preview.png" width="621" height="551" /></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Now open an existing form or a new form in the LC designer, you would notice a tab HTML Preview near by Design View, Master Pages and Preview PDF. If you cannot see that tab don&#8217;t worry just locate HTML Preview in the view menu option and enable it. When you click on the HTML Preview tab, you would see the html preview of the currently opened form in the designer.</p>
<p><a href="http://blogs.adobe.com/foxes/files/2013/03/HTML_PREVIEW.png"><img class="alignnone  wp-image-199" alt="HTML_PREVIEW" src="http://blogs.adobe.com/foxes/files/2013/03/HTML_PREVIEW1.png" width="689" height="373" /></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>See how easy it is to preview html forms while designing it. This will speed up the development of the form as one can preview both PDF as well as HTML right from the designer itself. In the next post I&#8217;ll share how one can test templates outside of the designer and in the browser.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.adobe.com/foxes/mobile-forms-livecycle-designer-way/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Accessible Mobile form</title>
		<link>http://blogs.adobe.com/foxes/accessible-mobile-form/</link>
		<comments>http://blogs.adobe.com/foxes/accessible-mobile-form/#comments</comments>
		<pubDate>Thu, 07 Mar 2013 06:12:54 +0000</pubDate>
		<dc:creator>Raghavendra Pandey</dc:creator>
				<category><![CDATA[html forms]]></category>
		<category><![CDATA[accessibility]]></category>
		<category><![CDATA[AEM LiveCycle integration]]></category>
		<category><![CDATA[CQ and LiveCycle]]></category>
		<category><![CDATA[Designer]]></category>
		<category><![CDATA[form]]></category>
		<category><![CDATA[Forms for field worker]]></category>
		<category><![CDATA[Forms in AEM]]></category>
		<category><![CDATA[Forms in CQ]]></category>
		<category><![CDATA[Forms on iPad]]></category>
		<category><![CDATA[HTML forms]]></category>
		<category><![CDATA[html preview]]></category>
		<category><![CDATA[Html xfa form]]></category>
		<category><![CDATA[HTML5 forms]]></category>
		<category><![CDATA[HTML5 mobile forms]]></category>
		<category><![CDATA[LiveCycle]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[Mobile forms]]></category>
		<category><![CDATA[Mobile friendly forms]]></category>
		<category><![CDATA[Mobile HTML forms]]></category>
		<category><![CDATA[Mobile XFA]]></category>
		<category><![CDATA[Mobile XFA design considerations]]></category>
		<category><![CDATA[Offline form]]></category>
		<category><![CDATA[preview]]></category>
		<category><![CDATA[Tablet forms]]></category>
		<category><![CDATA[xfa]]></category>
		<category><![CDATA[XFA iPad]]></category>

		<guid isPermaLink="false">http://blogs.adobe.com/foxes/?p=186</guid>
		<description><![CDATA[An accessible form is one that a wide range of people can use, including those who may have disabilities that affect how they are able to interact with the form on the computer screen. For example, the form user may &#8230; <a href="http://blogs.adobe.com/foxes/accessible-mobile-form/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>An accessible form is one that a wide range of people can use, including those who may have disabilities that affect how they are able to interact with the form on the computer screen. For example, the form user may have a visual impairment or reduced mobility.</p>
<p>Mobile form uses <a href="http://dev.w3.org/html5/markup/aria/aria.html">ARIA</a> html5 accessibility standard to support a number of features and capabilities that enhance the usability of forms for users with a range of disabilities, and assist form authors and create forms that are more accessible to people with disabilities.</p>
<p>When you design forms for a wide audience, you should consider that some users may have disabilities that affect how they interact with the form. Some users may have vision impairment, reduced mobility, or other disabilities. To accommodate the needs of all users, you may find it worthwhile to include certain practical design features in your forms and to test forms using various assistive technologies.</p>
<p>Setting a meaningful tabbing order is very important when designing forms that are accessible to users with vision impairment or users with disabilities. These users typically do not use a mouse to navigate through a form, so they depend on the keyboard. A logical tabbing order sequence ensures that they have full access to all the fields on the form and that they can navigate the form in a way that is sensible and efficient. Screen readers and other assistive technology also make use of the tabbing order.</p>
<p>In order to access spoken information about a form, users with vision impairment need to use a screen reader. Screen readers speak information about where the cursor is located on the form. As the form author, you must specify the text for the screen reader to read.</p>
<p>To provide an accessible form, you need to understand how screen readers work. You also need to know how to use the Designer Accessibility palette to specify information that the screen reader will speak for the objects on forms. Keep in mind these considerations related to implementing accessible forms that can support screen readers:</p>
<ul>
<li><span style="line-height: 13px;">Establish a logical tabbing order that includes all fields and buttons. Setting the tabbing order is important because screen reader tags are ordered top-to-bottom, left-to-right. The screen reader will generally read through an entire page, including any boilerplate objects. When the user begins to tab through the form, the screen reader reads text for each field as it becomes active.</span></li>
<li>Announce the names of buttons and fields, as well as their purpose.</li>
<li>Users cannot tab into protected fields. Calculation fields, such as a field that totals values entered in other fields, are an example of a protected field. For the screen reader to read the value of a protected field, you can place an empty Read Only field either on top of or next to the protected field to speak the value of the protected field.</li>
</ul>
<p>LiveCycle ES Designer includes a number of options that support screen readers. For each object in a form, you can specify one of several settings for the screen reader text:</p>
<ul>
<li>Custom screen reader text, which you set in the Accessibility palette.</li>
<li>Tooltips for objects on the finished form, which you set in the Accessibility palette.</li>
<li>Captions for fields on the form.</li>
<li>Names of objects, as specified in the Name option of the Binding tab.</li>
</ul>
<p><a href="http://blogs.adobe.com/foxes/files/2013/03/accessibility.png"><img class="alignnone  wp-image-195" alt="accessibility" src="http://blogs.adobe.com/foxes/files/2013/03/accessibility.png" width="566" height="307" /></a><br />
Only one setting is spoken for a single object. The screen reader searches for the presence of these settings to determine what is spoken. The default search order is Custom Text, Tooltip, Caption, and Name. When the screen reader finds one of these options, it speaks that text. You can override this default order using the Screen Reader Precedence option in the Accessibility palette.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.adobe.com/foxes/accessible-mobile-form/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Scribble your forms</title>
		<link>http://blogs.adobe.com/foxes/scribble-your-way/</link>
		<comments>http://blogs.adobe.com/foxes/scribble-your-way/#comments</comments>
		<pubDate>Wed, 06 Mar 2013 05:32:16 +0000</pubDate>
		<dc:creator>Raghavendra Pandey</dc:creator>
				<category><![CDATA[html forms]]></category>
		<category><![CDATA[AEM LiveCycle integration]]></category>
		<category><![CDATA[CQ and LiveCycle]]></category>
		<category><![CDATA[forms]]></category>
		<category><![CDATA[Forms for field worker]]></category>
		<category><![CDATA[Forms in AEM]]></category>
		<category><![CDATA[Forms in CQ]]></category>
		<category><![CDATA[Forms on iPad]]></category>
		<category><![CDATA[HTML forms]]></category>
		<category><![CDATA[Html xfa form]]></category>
		<category><![CDATA[HTML5 forms]]></category>
		<category><![CDATA[HTML5 mobile forms]]></category>
		<category><![CDATA[LiveCycle]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[Mobile forms]]></category>
		<category><![CDATA[Mobile friendly forms]]></category>
		<category><![CDATA[Mobile HTML forms]]></category>
		<category><![CDATA[Mobile XFA]]></category>
		<category><![CDATA[Mobile XFA design considerations]]></category>
		<category><![CDATA[Offline form]]></category>
		<category><![CDATA[scribble]]></category>
		<category><![CDATA[signature]]></category>
		<category><![CDATA[Tablet forms]]></category>
		<category><![CDATA[XFA iPad]]></category>

		<guid isPermaLink="false">http://blogs.adobe.com/foxes/?p=157</guid>
		<description><![CDATA[With new Mobile Forms, it is much easier to customize the forms than ever. In this post, I will cover one such improvisation that Mobile Form provides out of the box. Mobile Form extends image field to provide a scribble control on &#8230; <a href="http://blogs.adobe.com/foxes/scribble-your-way/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>With new <a href=" http://blogs.adobe.com/foxes/2013/03/05/lc-mobile-forms">Mobile Forms</a>, it is much easier to customize the forms than ever. In this post, I will cover one such improvisation that Mobile Form provides out of the box. Mobile Form extends image field to provide a scribble control on the form. The users can scribble any useful drawing, for example their signatures to the form. This control comes in the livecycle ES4 designer out of the box. Due to its close proximity with paper signature, we call it signature scribble. So here is how you design a form with scribble.</p>
<p>Open any existing form or a new form in LiveCycle ES4 Designer. Drop in signature  scribble object from the Object Library pane as shown below:</p>
<p><a href="http://blogs.adobe.com/foxes/files/2013/03/designer_scribble.png"><img class="alignnone size-full wp-image-159" alt="designer_scribble" src="http://blogs.adobe.com/foxes/files/2013/03/designer_scribble.png" width="978" height="471" /></a></p>
<p>&nbsp;</p>
<p>Once you open the form in browser you will see the following UI experience. You can scribble anything using the brush and save it. This control is only available for mobile forms. In pdf world this will be treated like an image and you don&#8217;t see any interactivity with that image.</p>
<p><a href="http://blogs.adobe.com/foxes/files/2013/03/capturesave.png"><img class="alignnone size-full wp-image-160" alt="capturesave" src="http://blogs.adobe.com/foxes/files/2013/03/capturesave.png" width="561" height="304" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.adobe.com/foxes/scribble-your-way/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mobile forms Vs Pdf forms</title>
		<link>http://blogs.adobe.com/foxes/mobile-forms-vs-pdf-forms/</link>
		<comments>http://blogs.adobe.com/foxes/mobile-forms-vs-pdf-forms/#comments</comments>
		<pubDate>Tue, 05 Mar 2013 11:31:09 +0000</pubDate>
		<dc:creator>Raghavendra Pandey</dc:creator>
				<category><![CDATA[html forms]]></category>
		<category><![CDATA[accessibility]]></category>
		<category><![CDATA[AEM LiveCycle integration]]></category>
		<category><![CDATA[CQ and LiveCycle]]></category>
		<category><![CDATA[Designer]]></category>
		<category><![CDATA[form]]></category>
		<category><![CDATA[Forms for field worker]]></category>
		<category><![CDATA[Forms in AEM]]></category>
		<category><![CDATA[Forms in CQ]]></category>
		<category><![CDATA[Forms on iPad]]></category>
		<category><![CDATA[HTML forms]]></category>
		<category><![CDATA[html preview]]></category>
		<category><![CDATA[Html xfa form]]></category>
		<category><![CDATA[HTML5 forms]]></category>
		<category><![CDATA[HTML5 mobile forms]]></category>
		<category><![CDATA[LiveCycle]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[Mobile forms]]></category>
		<category><![CDATA[Mobile friendly forms]]></category>
		<category><![CDATA[Mobile HTML forms]]></category>
		<category><![CDATA[Mobile XFA]]></category>
		<category><![CDATA[Mobile XFA design considerations]]></category>
		<category><![CDATA[Offline form]]></category>
		<category><![CDATA[pdf forms]]></category>
		<category><![CDATA[preview]]></category>
		<category><![CDATA[Tablet forms]]></category>
		<category><![CDATA[xfa]]></category>
		<category><![CDATA[XFA iPad]]></category>

		<guid isPermaLink="false">http://blogs.adobe.com/foxes/?p=152</guid>
		<description><![CDATA[Mobile forms component enables XFA forms on mobile devices. The same XFA form that can be used for generating pdf, can be used to generate html form as well. The html version should behave almost exactly same as the pdf &#8230; <a href="http://blogs.adobe.com/foxes/mobile-forms-vs-pdf-forms/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Mobile forms component enables XFA forms on mobile devices. The same XFA form that can be used for generating pdf, can be used to generate html form as well. The html version should behave almost exactly same as the pdf version. XFA has a very rich support for scripting. It supports tons of APIs and almost all the properties are exposed via scripting interface. But as the famous 80-20 rule suggests our customers use only 20 % of that capability. The difficult part was to find those script constructs that are used in real world cases and prioritize them higher than the rest of the script constructs. We have run through the large collection of customer XDPs we have and generated the list of javascript constructs that people use. Interestingly, we found that usage to be less than 20%. Out of 2600 javascript object properties and APIs, forms were using around 200 constructs at least once. So we decided to prioritize based on it.  Mobile Form is covering that gap fast but there would be certain things that would never make sense in html or mobile world.</p>
<p>Here is screenshot of both pdf as well as html form for comparison.</p>
<p><a href="http://blogs.adobe.com/foxes/files/2013/03/pdf_form.png"><img class="alignnone  wp-image-179" alt="pdf_form" src="http://blogs.adobe.com/foxes/files/2013/03/pdf_form.png" width="914" height="517" /></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><a href="http://blogs.adobe.com/foxes/files/2013/03/html_form.png"><img class="alignnone  wp-image-180" alt="html_form" src="http://blogs.adobe.com/foxes/files/2013/03/html_form.png" width="914" height="517" /></a>Then there are things that matters in pdf world doesn&#8217;t have same importance in html/mobile world, e.x. barcodes. Barcodes are more relevant in printed documents so we decided to do away with this barcode object purely from UI level. We still keep it at model level so one can always generate pdf with barcode using the data exported from the html form. If required, one can always insert custom widgets to show barcodes on html form. That is the beauty of Mobile Form architecture. It is way more open than the pdf form where all the widgets are locked down. In Mobile Forms world, one can customize the widgets to enhance the user experience on Mobile devices. For example, one can replace the xfa numeric field with the slider object to capture number information from users.</p>
<p>Signature field is another component that can be interestingly done using the html world solutions like e-sign. So we decided to de-prioritize it for Mobile Forms. On the other hand, we provide a scribble object, using that one can scribble his signature on the form and it will be saved as an image on the form. More detail on the scribble form can be found <a href="http://blogs.adobe.com/foxes/2013/03/06/scribble-your-way/">here</a>.</p>
<p>As I mentioned, Mobile Form will look like almost same as Pdf form. Time has come to explain the almost part here. Mobile Form, because of its html nature has lot of advantages, for example easier to customize, faster opening time, availability on mobile etc. But it has its own set of inherent issues also like support for very thin lines thinner than 1 px.</p>
<p>We use <a href="http://en.wikipedia.org/wiki/Data_URI_scheme">data uri scheme</a> to show images in the Mobile Form. This is supported by all the modern versions of the browsers but you cannot help but notice the differences in the range of image formats that these browsers support. So one should test the images across all the browser matrix before deploying the forms.</p>
<p>In mobile form, pagination, the ability to generate pages due to content changes like adding enough text in the text box to go beyond page boundaries, doesn&#8217;t matter. But keeping all the content cluttered would not look nice either. Mobile Form, that is why, chooses a hybrid approach where it generates panels, a box to give feel of pages, as many as there is in the template but it doesn&#8217;t increase or reduce panels by data content merged or by user content.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.adobe.com/foxes/mobile-forms-vs-pdf-forms/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
