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
108 lines
5.3 KiB
XML
108 lines
5.3 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<odoo>
|
|
<!-- Sequences -->
|
|
<record id="sequence_view" model="ir.ui.view">
|
|
<field name="model">ir.sequence</field>
|
|
<field name="arch" type="xml">
|
|
<form string="Sequences">
|
|
<sheet>
|
|
<group>
|
|
<group>
|
|
<field name="name"/>
|
|
<field name="implementation"/>
|
|
</group>
|
|
<group>
|
|
<field name="code"/>
|
|
<field name="active"/>
|
|
<field name="company_id" groups="base.group_multi_company"/>
|
|
</group>
|
|
</group>
|
|
<notebook>
|
|
<page string="Sequence">
|
|
<group>
|
|
<group>
|
|
<field name="prefix"/>
|
|
<field name="suffix"/>
|
|
<field name="use_date_range"/>
|
|
</group>
|
|
<group>
|
|
<field name="padding"/>
|
|
<field name="number_increment"/>
|
|
<field name="number_next_actual" string="Next Number" attrs="{'invisible': [('use_date_range', '=', True)]}"/>
|
|
</group>
|
|
</group>
|
|
<field name="date_range_ids" attrs="{'invisible': [('use_date_range', '=', False)]}">
|
|
<tree string="Sequences" editable="top">
|
|
<field name="date_from"/>
|
|
<field name="date_to"/>
|
|
<field name="number_next_actual" string="Next Number"/>
|
|
</tree>
|
|
</field>
|
|
<group col="3" string="Legend (for prefix, suffix)">
|
|
<group>
|
|
<span colspan="2">Current Year with Century: %%(year)s</span>
|
|
<span colspan="2">Current Year without Century: %%(y)s</span>
|
|
<span colspan="2">Month: %%(month)s</span>
|
|
<span colspan="2">Day: %%(day)s</span>
|
|
</group>
|
|
<group>
|
|
<span colspan="2">Day of the Year: %%(doy)s</span>
|
|
<span colspan="2">Week of the Year: %%(woy)s</span>
|
|
<span colspan="2">Day of the Week (0:Monday): %%(weekday)s</span>
|
|
</group>
|
|
<group>
|
|
<span colspan="2">Hour 00->24: %%(h24)s</span>
|
|
<span colspan="2">Hour 00->12: %%(h12)s</span>
|
|
<span colspan="2">Minute: %%(min)s</span>
|
|
<span colspan="2">Second: %%(sec)s</span>
|
|
</group>
|
|
</group>
|
|
<group attrs="{'invisible': [('use_date_range', '=', False)]}">
|
|
<div>
|
|
When subsequences per date range are used, you can prefix variables with 'range_'
|
|
to use the beginning of the range instead of the current date, e.g. %%(range_year)s instead of %%(year)s.
|
|
</div>
|
|
</group>
|
|
</page>
|
|
</notebook>
|
|
</sheet>
|
|
</form>
|
|
</field>
|
|
</record>
|
|
<record id="sequence_view_tree" model="ir.ui.view">
|
|
<field name="model">ir.sequence</field>
|
|
<field name="arch" type="xml">
|
|
<tree string="Sequences">
|
|
<field name="code"/>
|
|
<field name="name"/>
|
|
<field name="prefix"/>
|
|
<field name="padding"/>
|
|
<field name="company_id" groups="base.group_multi_company"/>
|
|
<field name="number_next_actual" string="Next Number"/>
|
|
<field name="number_increment"/>
|
|
<field name="implementation"/>
|
|
</tree>
|
|
</field>
|
|
</record>
|
|
<record id="view_sequence_search" model="ir.ui.view">
|
|
<field name="model">ir.sequence</field>
|
|
<field name="arch" type="xml">
|
|
<search string="Sequences">
|
|
<field name="name" string="Sequence"/>
|
|
<field name="code"/>
|
|
<field name="company_id" groups="base.group_multi_company"/>
|
|
</search>
|
|
</field>
|
|
</record>
|
|
<record id="ir_sequence_form" model="ir.actions.act_window">
|
|
<field name="name">Sequences</field>
|
|
<field name="type">ir.actions.act_window</field>
|
|
<field name="res_model">ir.sequence</field>
|
|
<field name="view_type">form</field>
|
|
<field name="view_id" ref="sequence_view_tree"/>
|
|
<field name="context">{'active_test': False}</field>
|
|
</record>
|
|
<menuitem action="ir_sequence_form" id="menu_ir_sequence_form" parent="next_id_5"/>
|
|
|
|
</odoo>
|