<feed xmlns='http://www.w3.org/2005/Atom'>
<title>Odoo/addons/web/static/lib/qweb, branch 14.0</title>
<subtitle>The current checkout of upstream Odoo</subtitle>
<link rel='alternate' type='text/html' href='http://erp.ceuconsult.com:9000/Odoo/'/>
<entry>
<title>[FIX] web: qweb old inheritance mechanism</title>
<updated>2020-07-10T11:53:23+00:00</updated>
<author>
<name>Aaron Bohy</name>
<email>aab@odoo.com</email>
</author>
<published>2020-07-10T10:09:35+00:00</published>
<link rel='alternate' type='text/html' href='http://erp.ceuconsult.com:9000/Odoo/commit/?id=b558cb7996b1de385f6bf7cb3918f0e37cee69fe'/>
<id>b558cb7996b1de385f6bf7cb3918f0e37cee69fe</id>
<content type='text'>
Before this commit, defining a extension of a template by using the
combination of directives 't-name' and 't-extend' ignored potential
extensions that could have been defined beforehand.

For instance, let's assume the following templates.
```xml
&lt;t t-name="a"&gt;
    &lt;div&gt;&lt;span&gt;1&lt;/span&gt;&lt;/div&gt;
&lt;/t&gt;
&lt;t t-extend="a"&gt;
    &lt;t t-jquery="span" t-operation="replace"&gt;
        &lt;span&gt;2&lt;/span&gt;
    &lt;/t&gt;
&lt;/t&gt;
&lt;t t-name="b" t-extend="a"&gt;
    &lt;t t-jquery="div" t-operation="append"&gt;
        &lt;span&gt;b&lt;/span&gt;
    &lt;/t&gt;
&lt;/t&gt;
```
Rendering template "b" displayed "1b" whereas we would expect "2b".

Moreover, when the extended template is itself an extension of
another template:
```xml
&lt;t t-name="a"&gt;
    &lt;div&gt;&lt;span&gt;a&lt;/span&gt;&lt;/div&gt;
&lt;/t&gt;
&lt;t t-name="b" t-extend="a"&gt;
    &lt;t t-jquery="div" t-operation="append"&gt;
        &lt;span&gt;b&lt;/span&gt;
    &lt;/t&gt;
&lt;/t&gt;
&lt;t t-name="c" t-extend="b"&gt;
    &lt;t t-jquery="div" t-operation="append"&gt;
        &lt;span&gt;c&lt;/span&gt;
    &lt;/t&gt;
&lt;/t&gt;
```
Rendering template "a" displayed "a", template "b" displayed "ab",
but template "c" displayed "ac", whereas we would expect "abc".

With this commit, other extensions done to a template are kept when
a new extension is defined. It relies on the templates order, and
takes into account all extensions that have *already* been defined.
This is exactly how the new qweb inheritance mechanism (using
't-inherit' and 't-inherit-mode') behaves.

closes odoo/odoo#54315

Signed-off-by: Lucas Perais (lpe) &lt;lpe@odoo.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Before this commit, defining a extension of a template by using the
combination of directives 't-name' and 't-extend' ignored potential
extensions that could have been defined beforehand.

For instance, let's assume the following templates.
```xml
&lt;t t-name="a"&gt;
    &lt;div&gt;&lt;span&gt;1&lt;/span&gt;&lt;/div&gt;
&lt;/t&gt;
&lt;t t-extend="a"&gt;
    &lt;t t-jquery="span" t-operation="replace"&gt;
        &lt;span&gt;2&lt;/span&gt;
    &lt;/t&gt;
&lt;/t&gt;
&lt;t t-name="b" t-extend="a"&gt;
    &lt;t t-jquery="div" t-operation="append"&gt;
        &lt;span&gt;b&lt;/span&gt;
    &lt;/t&gt;
&lt;/t&gt;
```
Rendering template "b" displayed "1b" whereas we would expect "2b".

Moreover, when the extended template is itself an extension of
another template:
```xml
&lt;t t-name="a"&gt;
    &lt;div&gt;&lt;span&gt;a&lt;/span&gt;&lt;/div&gt;
&lt;/t&gt;
&lt;t t-name="b" t-extend="a"&gt;
    &lt;t t-jquery="div" t-operation="append"&gt;
        &lt;span&gt;b&lt;/span&gt;
    &lt;/t&gt;
&lt;/t&gt;
&lt;t t-name="c" t-extend="b"&gt;
    &lt;t t-jquery="div" t-operation="append"&gt;
        &lt;span&gt;c&lt;/span&gt;
    &lt;/t&gt;
&lt;/t&gt;
```
Rendering template "a" displayed "a", template "b" displayed "ab",
but template "c" displayed "ac", whereas we would expect "abc".

With this commit, other extensions done to a template are kept when
a new extension is defined. It relies on the templates order, and
takes into account all extensions that have *already* been defined.
This is exactly how the new qweb inheritance mechanism (using
't-inherit' and 't-inherit-mode') behaves.

closes odoo/odoo#54315

Signed-off-by: Lucas Perais (lpe) &lt;lpe@odoo.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[FIX] qweb2: ignore comments between branching directives</title>
<updated>2020-02-24T15:32:19+00:00</updated>
<author>
<name>Lucas Perais (lpe)</name>
<email>lpe@odoo.com</email>
</author>
<published>2020-02-21T09:46:12+00:00</published>
<link rel='alternate' type='text/html' href='http://erp.ceuconsult.com:9000/Odoo/commit/?id=9256492f105719df2756524a10e0659c991bb810'/>
<id>9256492f105719df2756524a10e0659c991bb810</id>
<content type='text'>
Have a template of that form:
```xml
&lt;t t-if=""/&gt;
&lt;!-- Comment --&gt;
&lt;t t-elif=""/&gt;
```

Before this commit, both python and JS crashed because any type of node
between branching directive was forbidden

After this commit, Comments are just ignored and removed, while actual
template nodes are still forbidden between branching directives
There is no crash anymore

closes odoo/odoo#45899

Signed-off-by: Lucas Perais (lpe) &lt;lpe@odoo.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Have a template of that form:
```xml
&lt;t t-if=""/&gt;
&lt;!-- Comment --&gt;
&lt;t t-elif=""/&gt;
```

Before this commit, both python and JS crashed because any type of node
between branching directive was forbidden

After this commit, Comments are just ignored and removed, while actual
template nodes are still forbidden between branching directives
There is no crash anymore

closes odoo/odoo#45899

Signed-off-by: Lucas Perais (lpe) &lt;lpe@odoo.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[MERGE] forward port branch 12.0 up to 82c4393fd02</title>
<updated>2019-03-19T14:14:23+00:00</updated>
<author>
<name>Christophe Simonis</name>
<email>chs@odoo.com</email>
</author>
<published>2019-03-19T14:14:23+00:00</published>
<link rel='alternate' type='text/html' href='http://erp.ceuconsult.com:9000/Odoo/commit/?id=c50d7d6bc590850c406541edf7892fb1631b9f5a'/>
<id>c50d7d6bc590850c406541edf7892fb1631b9f5a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[MERGE] forward port branch saas-11.3 up to 4e39328a76a</title>
<updated>2019-03-18T19:03:24+00:00</updated>
<author>
<name>Christophe Simonis</name>
<email>chs@odoo.com</email>
</author>
<published>2019-03-18T19:03:24+00:00</published>
<link rel='alternate' type='text/html' href='http://erp.ceuconsult.com:9000/Odoo/commit/?id=bd63913326c4f86093e37d2192a0d43a44db0f59'/>
<id>bd63913326c4f86093e37d2192a0d43a44db0f59</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[MERGE] forward port branch saas-15 up to c6353942ffd</title>
<updated>2019-03-18T13:17:54+00:00</updated>
<author>
<name>Christophe Simonis</name>
<email>chs@odoo.com</email>
</author>
<published>2019-03-18T13:17:54+00:00</published>
<link rel='alternate' type='text/html' href='http://erp.ceuconsult.com:9000/Odoo/commit/?id=2940ee6b356fd167f5ece62c92f9a9e8a770aa7d'/>
<id>2940ee6b356fd167f5ece62c92f9a9e8a770aa7d</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[FIX] web: qweb2: allow null values in a foreach iteration</title>
<updated>2019-03-12T16:15:39+00:00</updated>
<author>
<name>Denis Vermylen</name>
<email>dve@odoo.com</email>
</author>
<published>2019-03-12T16:15:39+00:00</published>
<link rel='alternate' type='text/html' href='http://erp.ceuconsult.com:9000/Odoo/commit/?id=791a38a655009a063e488c07bb141f35e5a52574'/>
<id>791a38a655009a063e488c07bb141f35e5a52574</id>
<content type='text'>
Before this commit iteration in a t-foreach containing null or
undefined values crashed because they have no attributes.

closes odoo/odoo#31828

Signed-off-by: Fabien Meghazi &lt;amigrave@users.noreply.github.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Before this commit iteration in a t-foreach containing null or
undefined values crashed because they have no attributes.

closes odoo/odoo#31828

Signed-off-by: Fabien Meghazi &lt;amigrave@users.noreply.github.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>[FIX] web: support full attribute syntax</title>
<updated>2019-01-30T15:23:50+00:00</updated>
<author>
<name>Martin Trigaux</name>
<email>mat@odoo.com</email>
</author>
<published>2019-01-30T10:11:13+00:00</published>
<link rel='alternate' type='text/html' href='http://erp.ceuconsult.com:9000/Odoo/commit/?id=2087fb5aa9f466be98b017bd9a94b2441f1c2024'/>
<id>2087fb5aa9f466be98b017bd9a94b2441f1c2024</id>
<content type='text'>
Only the syntax
&lt;t t-operation="attributes"&gt;
    &lt;attribute name="foo"&gt;bar&lt;/attribute&gt;
&lt;/t&gt;

was currently supported for attributes while the syntax

&lt;t t-operation="attributes"&gt;
    &lt;attribute name="foo" value="bar" /&gt;
&lt;/t&gt;

Is also correct and supported server side.

Using value instead of the node content is needed to avoid translating the node
while it is parsed by babel to extract translatable content</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Only the syntax
&lt;t t-operation="attributes"&gt;
    &lt;attribute name="foo"&gt;bar&lt;/attribute&gt;
&lt;/t&gt;

was currently supported for attributes while the syntax

&lt;t t-operation="attributes"&gt;
    &lt;attribute name="foo" value="bar" /&gt;
&lt;/t&gt;

Is also correct and supported server side.

Using value instead of the node content is needed to avoid translating the node
while it is parsed by babel to extract translatable content</pre>
</div>
</content>
</entry>
<entry>
<title>[FIX] web: fix JavaScript qweb and activate tests</title>
<updated>2018-08-13T15:09:28+00:00</updated>
<author>
<name>Christophe Matthieu</name>
<email>chm@odoo.com</email>
</author>
<published>2018-07-30T23:04:30+00:00</published>
<link rel='alternate' type='text/html' href='http://erp.ceuconsult.com:9000/Odoo/commit/?id=8f7fdb0d99bb99f122b7a5be6795ebb174c27bc6'/>
<id>8f7fdb0d99bb99f122b7a5be6795ebb174c27bc6</id>
<content type='text'>
Fix the issue of the t-esc display the content before the tag.
Activate qweb qunit test (same test for the JavaScript and python)
Use the same behavior as python: keep attributes order, and display content
as default value when the variable is falsy.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fix the issue of the t-esc display the content before the tag.
Activate qweb qunit test (same test for the JavaScript and python)
Use the same behavior as python: keep attributes order, and display content
as default value when the variable is falsy.
</pre>
</div>
</content>
</entry>
<entry>
<title>[IMP] Improve compatibility with screen readers (accessibility) (#24574)</title>
<updated>2018-06-22T19:22:21+00:00</updated>
<author>
<name>kujiu</name>
<email>kujiu@users.noreply.github.com</email>
</author>
<published>2018-06-22T19:22:21+00:00</published>
<link rel='alternate' type='text/html' href='http://erp.ceuconsult.com:9000/Odoo/commit/?id=9de1bc0eef6f5bfaa2a8d745431caa361ae91548'/>
<id>9de1bc0eef6f5bfaa2a8d745431caa361ae91548</id>
<content type='text'>
Today, Odoo is really tricky to use without seeing the screen, it must be improved to be usable.

This PR forbid to use labels without a "for" attribute, add some title, rule and aria attributes in HTML. With that, Odoo will be fully usable with a screen reader.


* [IMP] Labels must have a for attribute. Improve accessibility.
* [IMP] Better error message when trying to read a missing cached value
* [FIX] Add some aria-label and title attributes for screen readers.
* [FIX] Template name is not included in the error message in case of SyntaxError in QWeb
* [FIX] Improve the Tour failed at step error message to be more explicit.
* [IMP] Add aria-labels
* [FIX] Add missing aria-label on failing test
* [IMP] aria-hidden means hidden. Fix all bad aria-hidden and hide aria-hidden for all.
* [IMP] Color names on kanban views and many2many tags
* [IMP] Add some checks on views for accessibility.
* [IMP] Add `alt` attribute on `img` tags.
* [IMP] Add aria-label and title on non-described icons
* [IMP] Add button role to widgets with btn class
* [IMP] Translate aria and formatted attributes.
* [IMP] Remove wrong aria-labelledby
* [IMP] Add menu role on dropdowns
* [IMP] Buttons must be focusable
* [IMP] Add aria attributes on progress bars
* [IMP] Improve accessibility of basic widgets
* [IMP] Change main layout to more semantic tags
* [IMP] Add menuitem role when missing
* [IMP] Remove wrong role='presentation'
* [IMP] Improve accessibility of tab panels
* [IMP] Add aria-invalid on invalid fields
* [IMP] Add aria-sort on ordered columns
* [IMP] Add role on alerts
* [IMP] Use dialog role, header, main and footer tags for modals
* [IMP] Add labels on o_status
* [IMP] Improve accessibility of kanban view with feeds and articles
* [IMP] Add alerts in case of new messages
* [IMP] Add widget, navigation or img role to aria-labelled items
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Today, Odoo is really tricky to use without seeing the screen, it must be improved to be usable.

This PR forbid to use labels without a "for" attribute, add some title, rule and aria attributes in HTML. With that, Odoo will be fully usable with a screen reader.


* [IMP] Labels must have a for attribute. Improve accessibility.
* [IMP] Better error message when trying to read a missing cached value
* [FIX] Add some aria-label and title attributes for screen readers.
* [FIX] Template name is not included in the error message in case of SyntaxError in QWeb
* [FIX] Improve the Tour failed at step error message to be more explicit.
* [IMP] Add aria-labels
* [FIX] Add missing aria-label on failing test
* [IMP] aria-hidden means hidden. Fix all bad aria-hidden and hide aria-hidden for all.
* [IMP] Color names on kanban views and many2many tags
* [IMP] Add some checks on views for accessibility.
* [IMP] Add `alt` attribute on `img` tags.
* [IMP] Add aria-label and title on non-described icons
* [IMP] Add button role to widgets with btn class
* [IMP] Translate aria and formatted attributes.
* [IMP] Remove wrong aria-labelledby
* [IMP] Add menu role on dropdowns
* [IMP] Buttons must be focusable
* [IMP] Add aria attributes on progress bars
* [IMP] Improve accessibility of basic widgets
* [IMP] Change main layout to more semantic tags
* [IMP] Add menuitem role when missing
* [IMP] Remove wrong role='presentation'
* [IMP] Improve accessibility of tab panels
* [IMP] Add aria-invalid on invalid fields
* [IMP] Add aria-sort on ordered columns
* [IMP] Add role on alerts
* [IMP] Use dialog role, header, main and footer tags for modals
* [IMP] Add labels on o_status
* [IMP] Improve accessibility of kanban view with feeds and articles
* [IMP] Add alerts in case of new messages
* [IMP] Add widget, navigation or img role to aria-labelled items
</pre>
</div>
</content>
</entry>
<entry>
<title>[MERGE] forward port branch saas-15 up to bdd051bf782</title>
<updated>2018-06-13T16:13:48+00:00</updated>
<author>
<name>Christophe Simonis</name>
<email>chs@odoo.com</email>
</author>
<published>2018-06-13T16:13:48+00:00</published>
<link rel='alternate' type='text/html' href='http://erp.ceuconsult.com:9000/Odoo/commit/?id=d45c32baac722d66af3ae989ff6c3c717cbf3518'/>
<id>d45c32baac722d66af3ae989ff6c3c717cbf3518</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
