When you create a form and do not use a form.inputs block the inputs from form.input are not wrapped by a <ol> tag. I'm not sure if this is done by design, but I would have expected the form to wrap the inputs regardless how they where declared - if this is not possible then a note in the docs might be in order.
example form, where ol is not generated:
<% semantic_form_for @user_session, :url => user_session_path do |form| %>
<%= form.input :login, :label => true %>
<%= form.input :password, :label => true %>
<% form.buttons do %>
<%= form.commit_button t(:sign_in) %>
<% end %>
<% end %>
<fieldset> isn't generated either
That's why the inputs block is provided, to create those fieldset/ol wrappings. The DSL still works if you don't provided it because an LI tag is still valid outside of an OL wrapping, and fields are okay outside of fieldsets.
As for the documentation, the examples all (should) use the inputs block, so… I'm closing this.
fair enough, the code in question was a generated login form, so I was wondering why my overridden styles where not being picked up.